您好,登錄后才能下訂單哦!
在 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ù)需要捕獲其他類型的信號,例如 SIGINT
、SIGHUP
等。只需將相應的信號編號傳遞給 signal.signal()
函數(shù)即可。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。