如何在python脚本中调用一个函数,然后在使用kill命令终止时退出



我有一个名为flashscore.py的python脚本。

我需要在执行过程中杀死这个脚本。我正在使用二进制kill终止进程。

# Find process ID
$ pgrep -f flashscore.py
55033
$ kill 55033

此脚本使用cronjob运行。它用selenium启动了无头chrome浏览器,并进行了一些其他中间写入,所以我想在脚本退出之前用以下函数清理所有内容:

def exit_gracefully():
# kill chromedriver
# flush other intermediate files
pass 

如果可能的话,我该如何实现?

默认情况下,unix上的kill应该发送一个SIGTERM,可以用signal模块处理。类似于:

import signal
import time
import sys
def handler(signum, frame):
print("In SIGTERM handler")
print("exiting gracefully")
sys.exit(0)
signal.signal(signal.SIGTERM, handler)

i = 0
while True:
time.sleep(0.5)
print(i, end='r')
i += 1

相关内容

最新更新