当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