📜  add_signal_handler - Python (1)

📅  最后修改于: 2023-12-03 15:13:15.719000             🧑  作者: Mango

Python中的add_signal_handler介绍

在Python中,我们可以捕获操作系统发送的信号,并在发生信号时执行特定的操作。这就是通过add_signal_handler()函数来实现的。

add_signal_handler()的语法

下面是add_signal_handler()函数的语法:

signal.signal(signalnum, handler)

参数解释:

  • signalnum:要捕获的信号的编号。Python支持的信号列表可以通过signals模块中的list属性获得。
  • handler:当信号被捕获时要执行的函数。
使用add_signal_handler()捕获信号

我们需要先导入signal模块,然后使用add_signal_handler()来捕获信号。例如,我们可以捕获系统中的SIGINT信号(当用户按下Ctrl-C时发送):

import signal

def signal_handler(sig, frame):
    print('You pressed Ctrl+C!')
    sys.exit(0)

signal.signal(signal.SIGINT, signal_handler)
print('Press Ctrl+C')
signal.pause()

上面这段代码创建了一个名为signal_handler的处理函数,并将其作为第二个参数传递给signal.signal()函数。

总结

Python的add_signal_handler()函数使我们可以在Python程序中捕获信号。通过使用这个函数,我们可以在程序收到信号时执行特定的操作,例如在用户按下Ctrl-C时退出程序。