当我的脚本被用户杀死时,我该怎么做呢?

2024-04-25 23:40:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望我的python脚本在被用户杀死时做些什么。 我试着用atexit,但没用。 对不起,我的英语不好,谢谢。在


Tags: 用户脚本atexit
3条回答
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上你应该可以

^{pr2}$

请注意,通过设计,有些信号是您无法捕捉的(POSIX系统上的SIGKILL)——这是为了保护操作系统不受不良程序的影响。在

相关问题 更多 >