import signal
import time
class GracefulKiller:
kill_now = False
def __init__(self):
signal.signal(signal.SIGINT, self.exit_gracefully)
signal.signal(signal.SIGTERM, self.exit_gracefully)
signal.signal(signal.SIGHUP, self.exit_gracefully)
def exit_gracefully(self,signum, frame):
with open('kill.txt', 'w') as fpntr:
fpntr.write('killed')
self.kill_now = True
if __name__ == '__main__':
killer = GracefulKiller()
while True:
time.sleep(1)
print("doing something in a loop ...")
if killer.kill_now:
break
print "End of the program. I was killed gracefully :)"
在link之后,我已经输入了上面的注释,并读取了here,强制关闭正在发送一个
SIGHUP
,这个修改过的版本在终端窗口关闭并且python进程被“杀死”时写入一个输出文件。你知道吗注意,我只是合并了SE上的可用信息(如引用的)。你知道吗
相关问题 更多 >
编程相关推荐