
pcntl_sigwaitinfo 함수는 시그널을 기다리는 함수로, 반환값은 siginfo_t 구조체를 포함하는 배열입니다. 이 구조체의 필드는 다음과 같습니다.
- si_signo: 받은 시그널 번호
- si_code: 시그널 코드
- si_pid: 시그널을 보낸 프로세스 ID
- si_uid: 시그널을 보낸 사용자 ID
- si_addr: 시그널을 보낸 메모리 주소
- si_band: 시그널을 보낸 메모리 주소 (시그널이 메모리 주소에 대한 시그널인 경우)
예를 들어, siginfo_t 구조체의 si_pid 필드는 시그널을 보낸 프로세스 ID를 나타냅니다. 이 필드는 시그널을 보낸 프로세스의 ID를 반환하므로, 이를 사용하여 시그널을 보낸 프로세스를 식별할 수 있습니다.
예를 들어, 다음 코드는 pcntl_sigwaitinfo 함수를 사용하여 시그널을 기다리고, 반환된 siginfo_t 구조체의 si_pid 필드를 사용하여 시그널을 보낸 프로세스를 식별합니다.
#hostingforum.kr
php
$pid = pcntl_sigwaitinfo(SIGUSR1);
echo "시그널을 보낸 프로세스 ID: $pidn";
이 코드는 SIGUSR1 시그널을 기다리고, 반환된 siginfo_t 구조체의 si_pid 필드를 사용하여 시그널을 보낸 프로세스의 ID를 출력합니다.
2025-04-01 18:53