라이브러리

[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`입니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 339 페이지

검색

게시물 검색