2
이해 나는 process forking을 배우고 난 3 목록의 코드를하려고 해요 : 샘플 페이지는 표시 반면유닉스 포크
Original program, pid=2728 In parent, pid=2728, fork returned=2731 In child process, pid=2731, ppid=2728
:
sunbox$ cat fork2.c
#include <unistd.h>
#include <stdio.h>
int main (void) {
pid_t p;
printf("Original program, pid=%d\n", getpid());
p = fork();
if (p == 0) {
printf("In child process, pid=%d, ppid=%d\n",
getpid(), getppid());
} else {
printf("In parent, pid=%d, fork returned=%d\n",
getpid(), p);
}
}
sunbox$ gcc fork2.c -o fork2
sunbox$ ./fork2
Original program, pid=767
In child process, pid=768, ppid=767
In parent, pid=767, fork returned=768
내가 얻을 출력을 먼저 아이의 출산 후 부모? 나는 이것을 이해하지 못한다.
또한 대학 실험실에서 코드를 실행하면 페이지에 표시된대로 출력됩니다. 이 순진한 질문에 답하기 위해 고생 한 것에 대해 미리 감사드립니다.
중요한 점은 우분투 11.04입니다.
[unix.se] (http://unix.stackexchange.com/) – ierax
POSIX와 관련된 질문을하기에 더 좋은 곳은 귀하가상의 한 코드를 넣었습니다. – JeremyP
@faif : POSIX 소프트웨어 개발과 관련되어 있으므로 여기에 속한다고 생각합니다. – Rob