signal.signal

Python的signal模块允许您设置信号处理程序,以便在接收到特定信号时执行自定义操作。信号是操作系统向程序传递信息的一种方式。在Python中,您可以使用signal.signal()函数注册信号处理程序,以便在接收到特定信号时执行自定义操作。例如,当按下键盘上的Ctrl + C时,操作系统会生成SIGINT信号并将其传递给程序。您可以使用signal.signal()函数注册SIGINT信号处理程序,以便在接收到该信号时执行自定义操作。

以下是一个示例代码,演示了如何在Python中设置信号处理程序:

```python
import signal
import time

# 信号处理程序
def signal_handler(signum, frame):
    print("Signal Number:", signum, " Frame: ", frame)

# 注册SIGINT信号处理程序
signal.signal(signal.SIGINT, signal_handler)

# 注册SIGTSTP信号处理程序
def exit_handler(signum, frame):
    print('Exiting....')
    exit(0)
signal.signal(signal.SIGTSTP, exit_handler)

# 循环
while 1:
    print("Press Ctrl + C")
    time.sleep(3)
```

在这个示例中,我们注册了SIGINT信号处理程序和SIGTSTP信号处理程序。当按下Ctrl + C时,程序将执行signal_handler()函数。当按下Ctrl + Z时,程序将执行exit_handler()函数并退出。

此外,您还可以使用signal.alarm()函数设置定时器信号(SIGALRM)。这样,当定时器到期时,程序将执行相应的信号处理程序。

希望这可以帮助到您。

posted @   MoKin_Li  阅读(161)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示