Python での SIGINT 信号のキャプチャ
Python では、SIGINT (Ctrl C を押すことで生成) のような信号の処理は、信号を通じて実現できます。モジュール。このモジュールは、Python プログラム内でシグナルを管理するための包括的な API を提供します。
SIGINT シグナルをキャプチャし、カスタム クリーンアップ アクションを実行するには、次の手順に従います。
import signal import sys def signal_handler(sig, frame): print('You pressed Ctrl+C!') # Perform any necessary cleanup tasks هنا 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 のハンドラーとして登録するために使用されます。 signal.pause() 関数は、シグナルが受信されるまでスクリプトの実行を一時停止し、ユーザーが Ctrl C を押すまで他のすべての操作を一時停止します。
このアプローチにより、Python スクリプトで SIGINT を適切に処理し、プログラムを終了する前にカスタム クリーンアップ タスクを実行します。詳細およびドキュメントについては、コード内にあるリンクを参照してください。
以上がPython プログラムで Ctrl C 割り込み (SIGINT) を適切に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。