라이브러리

[PHP] pcntl_wstopsig - 자식을 중지시킨 신호를 반환합니다.




pcntl_wstopsig


`pcntl_wstopsig`는 PHP의 PCNTL 확장 함수 중 하나로, 프로세스가 중단되기 전에 보낸 시그널을 취소하는 데 사용됩니다.

사용법


`pcntl_wstopsig` 함수는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 프로세스 ID (PID)이고, 두 번째 매개변수는 취소할 시그널입니다.

예제


#hostingforum.kr
php

<?php

// 프로세스 생성

$pid = pcntl_fork();



if ($pid == -1) {

    die("fork failed");

} elseif ($pid) {

    // 부모 프로세스

    echo "부모 프로세스 PID: $pid
";

    pcntl_wstopsig($pid, SIGINT); // SIGINT 시그널 취소

    pcntl_waitpid($pid, $status);

    echo "프로세스 종료
";

} else {

    // 자식 프로세스

    pcntl_signal(SIGINT, function($sig) {

        echo "SIGINT 시그널 받았습니다.
";

    });

    pcntl_signal(SIGTERM, function($sig) {

        echo "SIGTERM 시그널 받았습니다.
";

    });

    pcntl_signal(SIGKILL, function($sig) {

        echo "SIGKILL 시그널 받았습니다.
";

    });

    sleep(5);

    echo "자식 프로세스 종료
";

}

?>



설명


이 예제에서는 부모 프로세스에서 자식 프로세스의 PID를 얻어와, 자식 프로세스가 SIGINT 시그널을 받기 전에 취소합니다. 자식 프로세스에서는 SIGINT, SIGTERM, SIGKILL 시그널을 받았을 때의 동작을 정의합니다.

참고


- `pcntl_fork`: 프로세스를 분할하는 함수입니다.
- `pcntl_waitpid`: 프로세스가 종료될 때까지 기다리는 함수입니다.
- `pcntl_signal`: 시그널을 받았을 때의 동작을 정의하는 함수입니다.
- `SIGINT`, `SIGTERM`, `SIGKILL`: 프로세스에 보내는 시그널입니다.

이 예제는 `pcntl_wstopsig` 함수의 사용법을 보여주며, 프로세스 간의 시그널 전달과 취소에 대한 이해를 돕습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색