Ubuntu终端关闭检测使用Python



我把信号处理程序函数放在哪里:

signal.signal(signal.SIGHUP, signal_handler)

在Python代码内部检测主函数和另一个函数中的闭包:

def signal_handler(sig, frame):
logging.basicConfig(filename="newfile.log", format='%(asctime)s %(message)s',filemode='w')
print("Inside handler")

如果用户在主功能执行之前关闭了Ubuntu终端,要执行吗?没有信号.pause((用于没有循环的程序

示例:

import signal
import sys
import logging

def main():
print("Main function execution")
signal.signal(signal.SIGHUP, signal_handler)

def signal_handler(sig, frame):
logging.basicConfig(filename="newfile.log", format='%(asctime)s %(message)s',filemode='w')
print("Inside handler")
# Create and configure logger

if __name__=="__main__":
main()

假设主功能执行10-20秒,并且在该执行帧内检测到关闭

假设def main()运行10秒。在主功能(if name==_main)中添加signal.signal(signal.SIGHUP, HANDLER)帮助我检测终端关闭

相关内容

  • 没有找到相关文章

最新更新