當python解釋器收到SIGTERM信號時,是否可以禁止在stderr上打印的「終止」消息。我希望它靜靜地終止。如何在python腳本收到SIGTERM時禁止終止消息
我試過使用不同的信號,如SIGINT,但在這種情況下,python會打印出運行腳本Traceback和「KeyboardInterrupt」消息。
當python解釋器收到SIGTERM信號時,是否可以禁止在stderr上打印的「終止」消息。我希望它靜靜地終止。如何在python腳本收到SIGTERM時禁止終止消息
我試過使用不同的信號,如SIGINT,但在這種情況下,python會打印出運行腳本Traceback和「KeyboardInterrupt」消息。
「終止」由您的shell打印,請查閱您的shell的手冊以瞭解如何禁用它。 至於SIGINT
,你實際上可以抓住這個!爲了避免打印回溯,則只需將你的整個程序
try:
do_stuff()
except KeyboardInterrupt:
pass
或註冊一個信號處理程序,如下所示:How do I capture SIGINT in Python?
任何想法如何阻止bash打印終止消息?這裏有一個類似的問題,說它不能完成,最好的辦法是將stderr重定向到/ dev/null,這對我來說不是一個真正的解決方案,因爲我仍然需要stderr輸出。 –
我相信這是'設置+米'在bash應該做的伎倆 – ch3ka
你看了'signals'模塊? – mgilson
是的,我的解決方案是安裝我自己的信號處理程序並從那裏退出。外殼不再打印終止消息。 –
我認爲這可能會奏效。 – mgilson