2012-04-30 2 views
0

파이썬 인터프리터가 SIGTERM 신호를 받으면 stderr에 인쇄 된 "종료 된"메시지를 표시하지 않을 수 있습니까? 조용히 끝내고 싶습니다.python 스크립트가 SIGTERM을받을 때 종료 된 메시지를 표시하지 않는 방법

나는 SIGINT와 같은 다른 신호를 사용하려했지만,이 경우 python은 실행중인 스크립트 Traceback 및 "KeyboardInterrupt"메시지를 출력합니다.

+0

당신이'signals' 모듈 봤어 : 다음과 같이, 단순히

try: do_stuff() except KeyboardInterrupt: pass 

에 전체 프로그램을 포장하거나 신호 처리기를 등록, 역 추적을 인쇄하지 않도록하려면? – mgilson

+0

예, 내 솔루션은 내 자신의 신호 처리기를 설치하고 거기에서 종료했습니다. 쉘은 더 이상 종결 메시지를 인쇄하지 않습니다. –

+0

그게 효과가있을 거라 생각했는데. – mgilson

답변

1

"종료 됨"은 사용자 쉘에서 인쇄됩니다. 사용자 쉘에서 설명서를 참조하여 비활성화하십시오. SIGINT은 실제로 이것을 잡을 수 있습니다! How do I capture SIGINT in Python?

+0

종료 된 메시지를 출력하지 못하게하는 방법은 무엇입니까? 이와 비슷한 질문은 아직 할 수 없다고 말하며, 당신이 할 수있는 최선은 stderr 출력을 필요로하기 때문에 stderr를/dev/null로 리다이렉트하는 것입니다. –

+0

나는 트릭을해야하는 bash에서'set + m'을 믿는다. – ch3ka

관련 문제