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)。這樣,當定時器到期時,程序將執行相應的信號處理程序。
希望這可以幫助到您。