wait()가 작동했는지 확인하려면 다음과 같이 확인해야할까요? 이론적으로 wait()가 실패하지 않으면 종료 된 자식 PID를 부모 프로세스로 반환해야합니다. 그렇지 않으면 부모 PID는 1이됩니다. 맞습니까?wait() 실패 여부 확인
switch (process = fork())
{
case -1:
// Fork fail
perror("Fork failed");
exit(EXIT_FAILURE);
case 0:
//Child process
HERE CODE DOES SOMETHING
exit(EXIT_SUCCESS);
default:
//Parent process
pid=wait(&status);
if(pid==1){
perror("Wait failed");
}else{
exit(EXIT_SUCCESS);
}
}
주로하는 데 도움이 : http://man7.org/linux/man-pages/man2/waitpid.2 .html – alk
'wait'이 -1을 반환하고 기존 응답에 의해 덮어 쓰여진 오류의 경우 1이 아니라는 것을 제외하고는 'waitpid'를 사용하여 여러분이 방금 포크 한 프로세스를 기다리는 것을 확인하십시오. 종료되는 첫 번째 자식 프로세스 (이전에 fork되거나 다른 스레드에 의해 fork 될 수 있음). 또한, 자식 프로세스에 의해 상속받은 부모의 stdip 버퍼를 실수로 비우는 것을 막기 위해'exit' 대신'_exit'을 호출하는 것이 좋습니다. – user4815162342
@ user4815162342 감사합니다. – krm