我的Ubuntu服务器上运行了一个python脚本。偶尔我回来找一个挂断SIGHUP消息已经发送到进程,这肯定不是我。
/var/log/kern.log中的内核日志为空,并且'dmesg |没有结果grep -i kill'所以这让我觉得它不是内核。那么......如果不是我而且它不是内核,谁或者什么可以将HANGUP消息发送到进程!? (没有其他人可以访问服务器。)
唯一可能的解释是程序崩溃导致生成SIGHUP并将其发送到进程吗?
编辑:我知道SIGHUP是发送的,巧合的是,我抓住了这个,以便使用以下方式优雅地终止程序:
kill -1 <pid>
与
def terminate(signum, frame):
print('Time of termination: {}'.format(datetime.now()))
sys.exit()
quit()
signal.signal(signal.SIGHUP, terminate)