0
내가 안녕하세요 세계 코드의 조각을 실행하려고 반환GETPID()는 예상치 못한 값
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
char string1[] = "\n Hello";
char string2[] = " World.\n";
int main(void)
{
int childpid;
if((childpid = fork()) == -1){
printf("\n Can't fork.\n");
exit(0);
}
else if(childpid == 0){ /* Child process */
printf("\n Child: My pid = %d, Parent pid = %d \n", getpid(), getppid());
exit(0);
}
else{ /* Parent Process */
printf("\n Parent: Child pid = %d, My pid = %d, Parent pid = %d \n", childpid, getpid(),getppid());
exit(0);
}
}
내가 무엇입니까 출력은 아이의 부모 PID에 관한마다 다릅니다
~$ ./f
Parent: Child pid = 6394, My pid = 6393, Parent pid = 27383
Child: My pid = 6394, Parent pid = 1842
~$ ./f
Parent: Child pid = 6398, My pid = 6397, Parent pid = 27383
Child: My pid = 6398, Parent pid = 6397
pid = 1842
에 속한 프로세스를 확인했을 때 그 프로세스는 /sbin/upstart --user
의 PID입니다. 누구든지 이러한 결과에 대한 해석을하시기 바랍니다.
는 waitpid. 붙여 넣은 코드는 내 컴퓨터에서 예상되는 동작을 보여줍니다. –