問題

我正在研究一個啟動幾個程序和資料庫連線的python指令碼.每次都要使用Ctrl C訊號殺死指令碼,我想做一些清理.

在Perl中,我會這樣做:

 $SIG{'INT'} = 'exit_gracefully';

sub exit_gracefully {
    print "Caught ^C 
";
    exit (0);
}
 

如何在Python中進行模擬?

  最佳答案

使用signal.signal註冊處理程式,如下所示:

 #!/usr/bin/env python
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()
 

程式碼適用於here .

關於signal的更多文件可以在這裡找到 .

  相同標籤的其他問題

pythoncontrolssignals