2014-09-12 2 views
0

fork() 시스템 호출이 부모의 프로세스 ID를 자식으로 반환하고 0을 부모로 반환하지 않는 이유는 무엇입니까? 이 섹션 fork() 시스템 호출에 의해 반환 된 값

pid_t pid; 
pid = fork(); 

는 포크 반환 코드()는 부모에게 반환되는 아이 아이의 (비 제로) 프로세스 ID 제로이다.

어떻게 아이로부터 부모의 PID를 찾을 수 있습니까?

답변

0

fork()를 수행하기 전에 저장할 수 있습니다. fork()는 포크가 완료 될 때까지 알 수없는 ID를 반환하도록 작성됩니다.

0

포크 앞에 항상 부모의 PID를 가져 와서 변수에 보관할 수 있습니다. 그것은 포크 후 동일합니다. 바로 실행 :

pid_t parent; 
.... 
parent = getpid(); 
pid = fork(); //If pid is 0 your parent's pid is in parent 
관련 문제