
PCNTL 모듈의 에러 처리에 대한 질문에 대한 답변입니다.
PCNTL 모듈의 에러 처리는 `pcntl_get_last_error()` 함수를 사용하여 마지막 에러를 가져올 수 있습니다. 이 함수는 프로세스 생성, 종료, 신호 보내기와 같은 작업에서 발생하는 에러를 모두 가져올 수 있습니다.
`pcntl_get_last_error()` 함수는 에러 코드를 반환하며, 이 코드는 PCNTL 모듈의 에러 코드를 의미합니다. 에러 코드는 다음과 같이 정의됩니다.
- `0`: 성공
- `1`: 프로세스 생성 실패
- `2`: 프로세스 종료 실패
- `3`: 신호 보내기 실패
- `4`: 프로세스 상태 가져오기 실패
아래 코드는 에러가 발생했을 때 어떻게 처리하는지 보여줍니다.
#hostingforum.kr
php
$pid = pcntl_fork();
if ($pid == -1) {
$error = pcntl_get_last_error();
if ($error == 1) {
// 프로세스 생성 실패
echo "프로세스 생성 실패";
} elseif ($error == 2) {
// 프로세스 종료 실패
echo "프로세스 종료 실패";
} elseif ($error == 3) {
// 신호 보내기 실패
echo "신호 보내기 실패";
} elseif ($error == 4) {
// 프로세스 상태 가져오기 실패
echo "프로세스 상태 가져오기 실패";
} else {
// 기타 에러
echo "기타 에러";
}
} elseif ($pid) {
// 부모 프로세스
} else {
// 자식 프로세스
}
위 코드는 에러가 발생했을 때 에러 코드를 가져와서 처리하는 방법을 보여줍니다.
2025-03-25 00:04