我正在使用命令python script.py &
在后台运行一个Python脚本。这个脚本可能长这样。
import time
def loop():
while True:
time.sleep(1)
if __name__=='__main__':
try:
loop()
except KeyboardInterrupt:
print("Terminated properly")
当涉及到终止脚本时,我希望在停止之前做一些清理工作(例如打印“正确终止”)。如果我以当前进程运行,则可以通过键盘中断后的except
语句处理此问题。
使用kill PID
命令意味着清理永远不会被执行。如何停止后台进程并在其终止之前执行某些代码?
kill -s 2 PID
向进程PID
发送键盘中断信号。如果我的记忆没有错的话,应该是信号2
。 - SrawINT (2)
你可以在这里阅读更多信息 http://linuxcommand.org/lc3_man_pages/kill1.html - Chen A.kill -s 2 PID
命令完美运行。 - henneray