
pcntl_wait를 사용하여 자식 프로세스를 종료하는 방법은 다음과 같습니다.
1. 자식 프로세스가 종료되기 전에 부모 프로세스가 pcntl_wait를 호출하여 자식 프로세스의 상태를 기다려야 합니다.
2. pcntl_wait는 자식 프로세스의 상태를 반환하며, 종료된 경우 0을 반환하고, 아직 종료되지 않은 경우 -1을 반환합니다.
3. 자식 프로세스가 종료된 경우, 부모 프로세스는 자식 프로세스의 상태를 확인하여 자식 프로세스의 종료 상태를 알 수 있습니다.
위 코드에서 pcntl_wait를 사용하여 자식 프로세스를 종료하는 부분은 다음과 같습니다.
#hostingforum.kr
php
if ($pid == -1) {
die('could not fork');
} elseif ($pid) {
// 부모 프로세스
pcntl_wait($status);
} else {
// 자식 프로세스
pcntl_wait($status);
exit(0);
}
위 코드에서 자식 프로세스를 종료하지 않고 부모 프로세스가 종료되면 자식 프로세스가 같이 종료되는 이유는 다음과 같습니다.
* 자식 프로세스는 부모 프로세스와 같은 프로세스 그룹에 속하기 때문에, 부모 프로세스가 종료되면 자식 프로세스도 같이 종료됩니다.
* pcntl_wait를 호출하여 자식 프로세스의 상태를 기다리지 않으면, 부모 프로세스가 종료되기 때문에 자식 프로세스도 같이 종료됩니다.
따라서, 자식 프로세스를 종료하기 위해서는 pcntl_wait를 호출하여 자식 프로세스의 상태를 기다려야 합니다.
2025-05-23 15:13