라이브러리
[PHP] pcntl_waitid - 자식 프로세스가 상태를 변경할 때까지 기다립니다.
pcntl_waitid() 함수
`pcntl_waitid()` 함수는 PHP에서 프로세스 관리를 위한 함수입니다. 이 함수는 프로세스나 쓰레드의 종료를 기다리며, 종료된 프로세스의 상태를 반환합니다.
사용법
`pcntl_waitid()` 함수는 다음과 같은 형식으로 사용됩니다.
#hostingforum.kr
php
pcntl_waitid($options, $pid, $status, $result)
- `$options`: 프로세스 종료를 기다릴 때 사용할 옵션입니다. 가능한 옵션은 다음과 같습니다.
- `PCNTL_WEXITED`: 프로세스가 종료되었을 때만 기다립니다.
- `PCNTL_WSTOPPED`: 프로세스가 중단되었을 때만 기다립니다.
- `PCNTL_WTRAPPED`: 프로세스가 트랩을 걸었을 때만 기다립니다.
- `PCNTL_WCONTINUED`: 프로세스가 중단되었을 때만 기다립니다.
- `$pid`: 기다릴 프로세스의 ID입니다.
- `$status`: 프로세스의 상태를 저장할 변수입니다.
- `$result`: 프로세스의 종료 상태를 저장할 변수입니다.
예제
다음 예제는 `pcntl_waitid()` 함수를 사용하여 프로세스의 종료를 기다리는 방법을 보여줍니다.
#hostingforum.kr
php
<?php
// 프로세스 생성
$pid = pcntl_fork();
if ($pid == -1) {
die("fork() failed");
} elseif ($pid) {
// 부모 프로세스
echo "부모 프로세스 ID: $pid
";
pcntl_waitid(PCNTL_WEXITED, $pid, $status, $result);
echo "프로세스 종료 상태: $result
";
} else {
// 자식 프로세스
echo "자식 프로세스 ID: $$
";
sleep(2);
exit(0);
}
?>
이 예제에서는 `pcntl_fork()` 함수를 사용하여 프로세스를 생성합니다. 부모 프로세스는 `pcntl_waitid()` 함수를 사용하여 자식 프로세스의 종료를 기다립니다. 자식 프로세스는 2초간 대기하고 종료됩니다.
참고
- `pcntl_waitid()` 함수는 프로세스 종료를 기다릴 때 사용할 옵션을 지정할 수 있습니다. 가능한 옵션은 `PCNTL_WEXITED`, `PCNTL_WSTOPPED`, `PCNTL_WTRAPPED`, `PCNTL_WCONTINUED`입니다.
- `$status` 변수는 프로세스의 상태를 저장할 변수입니다. `$result` 변수는 프로세스의 종료 상태를 저장할 변수입니다.
- `pcntl_waitid()` 함수는 프로세스 종료를 기다릴 때 사용할 옵션을 지정할 수 있습니다. 가능한 옵션은 `PCNTL_WEXITED`, `PCNTL_WSTOPPED`, `PCNTL_WTRAPPED`, `PCNTL_WCONTINUED`입니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.