방금 내 앱용 PHP 데몬을 작성했으며 지정된 신호 (SIGUSR1)에서 생성 된 일부 출력 정보를 구현하려고합니다. 나는 코드PHP의 신호 처리기에서 tty를 호출하는 사람
pcntl_signal(SIGUSR1, array($this, 'signal_status'));
의 신호 처리기를 가지고와 기능 핸들러는 한 가지를 제외하고
protected function signal_status($signal_number)
{ printf("blah\n"); }
모든 작업을 준비했다. 내가 내 데몬 (posix_kill($pid, SIGUSR1)
또는 bash에서 심지어 kill -10 pid
)에 신호를 보낼 때 데몬을 시작하는 콘솔에서 출력을 얻었습니다.
데몬이 아닌 호출자의 파일 설명자를 가져올 수 있습니까? 나는이 데이터를 데몬의 FD가 아니라 지정된 출력 (예 : kill -10 PID 이후)으로 보내지 않을 것입니다.
나는 내가이 명확하게 :) 쓴 희망
"신호 발신자"라는 FD를 얻을 수 있다면, 데이터를 직접 덤프 (예 :/dev/pts/7) - 어쨌든 답변 주셔서 감사합니다 :) – sbczk
깨끗한 해결책은 데몬과 인터 프로세스 통신의 실제 형태를 제공하는 것입니다 (비누 생각, RPC 생각, 듣기 생각하기 소켓에, 파이프를 사용하여 생각 ...) 나는 신호의 근원을 확인할 수 있다고 생각하지 않는다. –