首頁 > 後端開發 > Python教學 > 如何在 Python 中優雅地處理 Ctrl C 中斷 (SIGINT)?

如何在 Python 中優雅地處理 Ctrl C 中斷 (SIGINT)?

Linda Hamilton
發布: 2024-12-18 12:00:18
原創
214 人瀏覽過

How Can I Gracefully Handle Ctrl C Interrupts (SIGINT) in Python?

在Python 中處理SIGINT 訊號

在Python 中,您可以回應SIGINT 訊號(透過按CrlC)透過利用signal.signal函數。此函數註冊一個處理函數,該函數將在收到指定訊號時執行。以下是一個範例,示範如何實現與提供的 Perl 程式碼相同的功能:

import signal
import sys

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 是註冊的處理函數。當收到 SIGINT 訊號時,呼叫此函數並列印一條訊息以指示按下了
  • Ctrl C。然後退出腳本。
  • signal.signal 將 signal_handler 函式註冊為 SIGINT 的處理程序。
  • print('Press Ctrl C') 向控制台列印訊息,要求使用者按下
  • Ctrl C.
  • signal.pause( ) 進入事件循環並等待訊號傳遞。當收到 SIGINT 時,執行 signal_handler 函數,然後腳本退出。
此程式碼提供了一種有效的方法,可以在 Python 中優雅地處理 SIGINT 訊號,並在退出腳本之前執行清理操作。

以上是如何在 Python 中優雅地處理 Ctrl C 中斷 (SIGINT)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板