我有一个名为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