
시그널이 발생했을 때 프로세스가 블록킹되는 것을 방지하려면 pcntl_sigwaitinfo() 함수의 옵션 중 SIG_UNBLOCK 옵션을 사용할 수 있습니다.
SIG_UNBLOCK 옵션을 사용하면 시그널이 발생했을 때 프로세스는 블록킹되지 않고, 시그널이 발생한 후에 시그널을 기다리는 것으로 동작합니다.
예를 들어, 다음 코드를 참고할 수 있습니다.
#hostingforum.kr
php
pcntl_sigprocmask(SIG_UNBLOCK, array(SIGINT));
pcntl_sigwaitinfo(array(SIGINT));
이 코드에서는 SIGINT 시그널을 블록킹하지 않고, 시그널이 발생한 후에 시그널을 기다리는 것으로 동작합니다.
또한, pcntl_sigwaitinfo() 함수를 사용하여 시그널을 기다리기 위한最佳 실습은 다음과 같습니다.
1. 시그널을 블록킹하지 않고, 시그널이 발생한 후에 시그널을 기다리도록 pcntl_sigprocmask() 함수를 사용합니다.
2. 시그널이 발생했을 때 프로세스가 블록킹되지 않도록 pcntl_sigwaitinfo() 함수의 SIG_UNBLOCK 옵션을 사용합니다.
3. 시그널이 발생한 후에 시그널을 기다리도록 pcntl_sigwaitinfo() 함수를 사용합니다.
이러한 실습을 통해 시그널이 발생했을 때 프로세스가 블록킹되지 않도록 pcntl_sigwaitinfo() 함수를 사용하여 시그널을 기다릴 수 있습니다.
2025-08-12 04:27