2012-10-02 1 views
2

음, 나는 스크립트에 usr1 신호 처리기를 가지고있다. 외부에서 SIGUSR1을 스크립트로 보내면 처리기가 작동하지만 Popen을 통해 만든 자식에게도 신호가 전파됩니다. 어떻게해야합니까?파이썬 하위 프로세스는 자식에 의한 신호 처리를 피한다.

rsync manual page
+0

신호는 기본적으로 "확산"되지 않습니다. 너 스스로 그것을 중계하고있어. – phihag

+0

@phihag 아니, 간단히 말해서 하위 프로세스를 만든다. 스크립트 X를 열어 바깥 쪽에서 SIGUSR1을 보내고 스크립트에서 잡아 먹는다. 그 당시에는 내 부친이 SIGUSR1을 보내서 울부 짖었습니다. 결코 그에게 말하지 않았습니다. – ScotchAndSoda

+0

@Method [Demo] (https://gist.github.com/3820337)는 내 시스템에서'parent : SIGUSR1 caught' (+ PID)를 출력합니다. 그 행동을 재현 할 수 있습니까? 그렇지 않다면 어떤 파이썬 인터프리터를 사용하고 있습니까? 그렇다면 스크립트가 데모 스크립트와 어떻게 다른가요? – phihag

답변

0

가 종료 코드 (20 개) 수단 말한다 : 당신이 kill으로 사망하는 경우 그래서

Received SIGUSR1 or SIGINT 

을 (하지 kill -15 당신이 가끔 사용하는 말을하는) 그때는 너무이 종료 코드와 함께 죽을 것이다.