라이브러리

[PHP] pcntl_wifsignaled - 상태 코드가 신호로 인한 종료를 나타내는지 확인합니다.




pcntl_wifsignaled 함수 소개


`pcntl_wifsignaled` 함수는 PHP의 PCNTL 확장 함수 중 하나로, 프로세스가 신호를 받았는지 여부를 확인하는 데 사용됩니다. 이 함수는 `pcntl_wexitstatus` 함수와 함께 사용하여 프로세스가 종료된 이유를 확인할 수 있습니다.

pcntl_wifsignaled 함수 사용법


`pcntl_wifsignaled` 함수는 다음과 같은 형식으로 사용됩니다.

#hostingforum.kr
php

bool pcntl_wifsignaled(int $status)



* `$status` : 프로세스의 종료 상태를 나타내는 정수 값입니다.

예제


다음 예제는 `pcntl_wifsignaled` 함수를 사용하여 프로세스가 신호를 받았는지 여부를 확인하는 방법을 보여줍니다.

#hostingforum.kr
php

<?php



// 프로세스 생성

$pid = pcntl_fork();



if ($pid == -1) {

    die("fork failed");

} elseif ($pid) {

    // 부모 프로세스

    pcntl_waitpid($pid, $status);

    if (pcntl_wifsignaled($status)) {

        echo "자식 프로세스가 신호를 받았습니다.
";

    } else {

        echo "자식 프로세스가 정상적으로 종료되었습니다.
";

    }

} else {

    // 자식 프로세스

    sleep(2);

    posix_kill(getmypid(), 15); // SIGTERM 신호 보내기

    exit(0);

}



?>



이 예제에서는 부모 프로세스가 자식 프로세스를 생성하고 `pcntl_waitpid` 함수를 사용하여 자식 프로세스의 종료 상태를 확인합니다. `pcntl_wifsignaled` 함수를 사용하여 자식 프로세스가 신호를 받았는지 여부를 확인합니다. 만약 자식 프로세스가 신호를 받았다면 "자식 프로세스가 신호를 받았습니다."라는 메시지가 출력됩니다. 그렇지 않다면 "자식 프로세스가 정상적으로 종료되었습니다."라는 메시지가 출력됩니다.

참고


* `pcntl_wifsignaled` 함수는 프로세스가 신호를 받았는지 여부를 확인하는 데 사용됩니다.
* `pcntl_wexitstatus` 함수와 함께 사용하여 프로세스가 종료된 이유를 확인할 수 있습니다.
* `pcntl_waitpid` 함수를 사용하여 프로세스의 종료 상태를 확인할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색