라이브러리
[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` 함수의 사용법을 보여주며, 프로세스 간의 시그널 전달과 취소에 대한 이해를 돕습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.