溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux Python中處理系統(tǒng)級別的異常捕獲

發(fā)布時間:2024-09-12 12:06:32 來源:億速云 閱讀:78 作者:小樊 欄目:編程語言

在 Linux 系統(tǒng)下,Python 可以使用 signal 模塊來處理系統(tǒng)級別的異常

import signal
import time

def handle_sigterm(*args):
    print("Received SIGTERM, exiting...")
    # 在這里添加你需要在程序退出前執(zhí)行的代碼
    exit(0)

# 注冊信號處理函數(shù)
signal.signal(signal.SIGTERM, handle_sigterm)

print("Running the program...")

while True:
    try:
        time.sleep(1)
    except KeyboardInterrupt:
        print("Received KeyboardInterrupt, exiting...")
        break

在這個示例中,我們定義了一個名為 handle_sigterm 的信號處理函數(shù)。當程序收到 SIGTERM 信號時,這個函數(shù)會被調用。我們使用 signal.signal() 函數(shù)將 SIGTERM 信號與 handle_sigterm 函數(shù)關聯(lián)起來。

在主循環(huán)中,我們使用 try-except 語句捕獲 KeyboardInterrupt 異常,這樣當用戶按下 Ctrl+C 時,程序會優(yōu)雅地退出,而不是崩潰。

你可以根據(jù)需要捕獲其他類型的信號,例如 SIGINTSIGHUP 等。只需將相應的信號編號傳遞給 signal.signal() 函數(shù)即可。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI