
pcntl_wexitstatus 함수는 프로세스 종료 상태를 반환하는 함수로, 프로세스가 정상적으로 종료되었을 때 0을 반환하고, 비정상적으로 종료되었을 때 프로세스의 종료 코드를 반환합니다.
예를 들어, 프로세스가 SIGINT 신호로 종료되었을 때, pcntl_wexitstatus 함수는 2를 반환합니다. 프로세스가 SIGTERM 신호로 종료되었을 때, pcntl_wexitstatus 함수는 15를 반환합니다.
pcntl_wexitstatus 함수는 pcntl_waitpid 함수와 함께 사용해야 합니다. pcntl_waitpid 함수는 프로세스의 종료를 기다리는 함수로, pcntl_wexitstatus 함수는 pcntl_waitpid 함수가 반환한 프로세스 ID를 사용하여 프로세스의 종료 상태를 반환합니다.
pcntl_fork 함수는 프로세스를 분할하는 함수로, pcntl_wexitstatus 함수는 pcntl_fork 함수를 사용하여 생성된 프로세스의 종료 상태를 반환할 수 있습니다.
pcntl_wexitstatus 함수를 사용할 때 주의해야 하는 점은, pcntl_waitpid 함수가 반환한 프로세스 ID가 유효한지 확인해야 합니다. 만약 프로세스 ID가 유효하지 않으면, pcntl_wexitstatus 함수는 오류를 반환합니다.
예외 처리 방법은, pcntl_waitpid 함수가 반환한 프로세스 ID가 유효하지 않은 경우, 오류 메시지를 출력하고, 프로그램을 종료하는 방법입니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$pid = pcntl_fork();
if ($pid == 0) {
// 자식 프로세스
exit(1);
} else {
// 부모 프로세스
$status = pcntl_wexitstatus(pcntl_waitpid($pid, $status));
if ($status != 0) {
echo "프로세스 종료 오류n";
exit(1);
}
echo "프로세스 종료 상태: $statusn";
}
이 코드는 pcntl_fork 함수를 사용하여 프로세스를 분할하고, pcntl_waitpid 함수를 사용하여 프로세스의 종료를 기다립니다. pcntl_wexitstatus 함수를 사용하여 프로세스의 종료 상태를 반환하고, 오류가 발생한 경우 오류 메시지를 출력하고 프로그램을 종료합니다.
2025-06-24 01:27