【问题标题】:How to suppress the Terminated message when python script receives a SIGTERMpython脚本收到SIGTERM时如何抑制终止消息
【发布时间】:2012-04-30 12:12:04
【问题描述】:

当 python 解释器收到 SIGTERM 信号时,是否可以抑制打印在 stderr 上的“终止”消息。我希望它静默终止。

我尝试过使用不同的信号,例如 SIGINT,但在这种情况下,python 会打印出正在运行的脚本 Traceback 和“KeyboardInterrupt”消息。

【问题讨论】:

  • 你看过signals模块吗?
  • 是的,我的解决方案是安装我自己的信号处理程序并从那里退出。 shell 不再打印 Terminated 消息。

标签: python shell signals


【解决方案1】:

“已终止”由您的 shell 打印,请查阅您的 shell 手册以了解如何禁用它。 至于SIGINT,其实你也能看懂!为避免打印 Traceback,只需将整个程序包装在

try:
    do_stuff()
except KeyboardInterrupt:
    pass

或注册一个信号处理程序,如下所示:How do I capture SIGINT in Python?

【讨论】:

  • 知道如何阻止 bash 打印出 Terminated 消息吗?此处的类似问题指出无法完成,您可以做的最好的是将 stderr 重定向到 /dev/null 这对我来说并不是真正的解决方案,因为我仍然需要 stderr 输出。
猜你喜欢
  • 2021-10-27
  • 1970-01-01
  • 2013-03-18
  • 1970-01-01
  • 1970-01-01
  • 2014-10-17
  • 1970-01-01
  • 2012-05-02
  • 2011-05-21
相关资源
最近更新 更多