ホームページ >バックエンド開発 >Python チュートリアル >Python で SIGINT シグナルをキャッチするにはどうすればよいですか?
この記事では、Python で SIGINT をキャッチする方法と、キャッチした後に何をする必要があるかを学びます。
信号を受信した後、信号モジュールは特定のアクションを実行します。これに加えて、SIGINT を使用してキーボード経由でユーザーの割り込みをキャプチャすることもできます。
用語 「シグナル」 は、プログラムがオペレーティング システムから情報を受け取るプロセスを指します。さらに、オペレーティング システムが特定のイベントを検出すると、プログラムにシグナルが送信されます。シグナルモジュールは、ターミナル -
で次のコマンドを実行することでインストールできます。 リーリーPython の sys モジュールは、Python 実行環境のさまざまな部分を変更するための複数の関数と変数を提供します。 sys モジュールは、次のコマンドを使用してインストールできます -
リーリーPython の time モジュールを使用すると、ユーザーは時間を操作し、時間に関する情報を記録できます。通常、time モジュールは Python にプリインストールされているため、インストールする必要はありませんが、そうでない場合は、次のコマンド -
を使用してインストールできます。 リーリーPython で SIGINT をキャプチャする実装を段階的に紹介しましょう。
まず、import キーワードを使用して、必要なライブラリをすべてインポートする必要があります。その中には、signal、sys、sleep ライブラリがあります。
リーリーここで、任意の 2 つのパラメーターを受け入れることによって、キーボード割り込みが発生した場合に呼び出される関数を作成します。この例では、パラメータは sig および frame とみなされます。
リーリーここでは、signal.signal() 関数を使用して、シグナルの受信時に呼び出す必要があるカスタム ハンドラーを定義します。さらに、キーボードで Ctrl C または Ctrl F2 を入力することで割り込みを引き起こす signal.SIGINT を定義します。
リーリー次に、キーボードが中断された場合に何をすべきかをユーザーに知らせるために、ランダムなメッセージを数行出力します。
リーリー最後に、Python のスリープ時間をランダムな秒数に設定します。
リーリー ######知らせ######このプログラムには問題があります。Windows で実行している場合は、Ctrl と F2 を押して停止して SIGINT をキャッチできますが、Linux で実行している場合は ## を押して停止できます。 #Ctrl と C
を同時に押します。Python での SIGINT のキャプチャ アルゴリズム (ステップ)
以下は、必要なタスクを実行するために従う必要があるアルゴリズム/手順です。 -signal
モジュールとimport キーワードを使用して、time モジュールから sleep
関数をインポートします。変数を作成し、その値を 1 に初期化します (ループの実行数を表すために使用されます)。
while True
を使用します。Try-Except ブロックを使用してエラー/例外を処理します。
sleep()
関数を使用して、引数として数値を渡し、各数値を出力する間にランダムな秒数スリープします。ループ実行回数の値に1を加算します。
excel
ブロックを使用します。キーボード割り込み例外が発生した場合は、メッセージを出力します。
exit()
関数を使用して、プログラムを閉じる/終了します。###例### 次のプログラムは、try/catch 例外キャプチャ SIGINT - を使用します。 リーリー ###出力###
上記のプログラムを実行すると、次の出力が生成されます -以上がPython で SIGINT シグナルをキャッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。