2024-04-25 23:40:40 发布
网友
我希望我的python脚本在被用户杀死时做些什么。 我试着用atexit,但没用。 对不起,我的英语不好,谢谢。在
import atexit def sayHelloWorld(): print("Hello, World!") atexit.register(sayHelloWorld)
atexit确实有效,你只要正确使用它。前往https://docs.python.org/2/library/atexit.html了解更多信息
您想安装signal handler。你想要处理的具体信号取决于你运行的操作系统:Windows使用的信号集与*nix/Mac不同。在
在基于POSIX的系统(OS X、Linux)上,您可以用以下代码捕捉用户SIGINT(当他们按下ctrl-c)和SIGTERM时:
import signal import sys def signal_term_handler(signal, frame): print 'got SIGTERM/SIGINT' sys.exit(0) signal.signal(signal.SIGTERM, signal_term_handler) signal.signal(signal.SIGINT, signal_term_handler)
在Windows上你应该可以
请注意,通过设计,有些信号是您无法捕捉的(POSIX系统上的SIGKILL)——这是为了保护操作系统不受不良程序的影响。在
atexit确实有效,你只要正确使用它。前往https://docs.python.org/2/library/atexit.html了解更多信息
您想安装signal handler。你想要处理的具体信号取决于你运行的操作系统:Windows使用的信号集与*nix/Mac不同。在
在基于POSIX的系统(OS X、Linux)上,您可以用以下代码捕捉用户SIGINT(当他们按下ctrl-c)和SIGTERM时:
在Windows上你应该可以
^{pr2}$请注意,通过设计,有些信号是您无法捕捉的(POSIX系统上的SIGKILL)——这是为了保护操作系统不受不良程序的影响。在
相关问题 更多 >
编程相关推荐