[英]How to know where does a signal come from on Linux?
如果您能夠在主進程結束時等待,您可以添加如下內容:
import signal
siginfo = signal.sigwaitinfo({signal.SIGTERM})
print("got %d from %d by user %d\n" % (siginfo.si_signo,
siginfo.si_pid,
siginfo.si_uid))
(改編自此處:適用於 Linux 上的 Python 3.5.2)
這將阻止你的腳本並讓它等到它得到一個 SIGTERM,然后它會打印出發送 SIGTERM 的進程的 pid。 如果是 SIGINT 停止了您的程序,您可以將 SIGTERM 換成 SIGINT。 不幸的是,您只能在主進程中捕獲信號,而不能在單獨的線程中捕獲信號,請參閱此處了解更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.