スクリプトが実行されているときにCtrl+c
がヒットした場合、私のスクリプトが自分の関数の1つを実行できるようになりますか?キーボード割り込みをどのように無効にすることができますか? (Python)
6
A
答えて
18
signal handlersをご覧ください。 CTRL-CはSIGINT(posixシステムのシグナル#2)に対応します。
例:
#!/usr/bin/env python
import signal
import sys
def signal_handler(signal, frame):
print 'You pressed Ctrl+C - or killed me with -2'
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
print 'Press Ctrl+C'
signal.pause()
3
はKeyboardInterrupt exceptionを使用してexcept
ブロックにあなたの関数を呼び出します。
5
try:
# Your normal block of code
except KeyboardInterrupt:
# Your code which is executed when CTRL+C is pressed.
finally:
# Your code which is always executed.
関連する問題
- 1. python gtkによるキーボード割り込み?
- 2. 割り込み/プリエンプションを長期間無効にすると、どのような影響がありますか?
- 3. Jythonでどのようにキーボード割り込み(CTRL-C)をインターセプトしますか?
- 4. ここで割り込みを無効にするのはなぜですか?
- 5. 割り込みを無効にするとCPUスケジューリングが自動的に無効になりますか?
- 6. Pythonでキーボード割り込み時にbashスクリプトを実行する
- 7. 割り込み中に割り込みを無効にする必要はありますか?
- 8. 割り込みとスレッドの安全を無効にする
- 9. ハードウェアとソフトウェアの割り込みを無効にする
- 10. Windows Azureプロジェクトでどのように役割を無効にすることができますか?
- 11. 割り込みAを割り込みBから無効にすると、Aが終了するのを待たずに実行が停止しますか?
- 12. Pythonでキーボード割り込みを実装する方法
- 13. 割り込みハンドラがFIFOに書き込むことができます
- 14. Cached Spark RDD(シーケンスファイルから読み込み)に無効なエントリがありますが、これをどのように修正できますか?
- 15. Moodle:どのようにコースをユニットのように無効にすることができますか?
- 16. キーボード割り込み、ソケット、スレッド
- 17. Linuxで作業中にPythonでCtrl-Cキーボード割り込みをシミュレートする
- 18. どのように出力(タプル)をキー値に割り当てることができますか? Pythonの
- 19. Javaで割り込みがどのように知っていますか?
- 20. デュアルプロセッサマシンではどのように割り込みが処理されますか?
- 21. どのように変数をCシャープからPythonに読み込むことができますか?
- 22. .csvトレーニングデータをmxnetの畳み込みニューラルネットワークにどのように送ることができますか?
- 23. このRuby変数をどのように無効にすることができますか?
- 24. このSwiftプロパティをどのように無効にすることができますか?
- 25. ノードはどのようにして役割ファイルを読み込むことができますか?
- 26. word2vecベクトルはどのように読み込むことができますか?
- 27. Pythonにはどのような組み込み型がありますか?
- 28. pythonでマウスとキーボードを無効またはロックしますか?
- 29. PythonでUSBデバイスを有効/無効にすることはできますか?
- 30. どのように反応ネイティブでデフォルトのスプラッシュ画面を無効にすることができますか?
いくつかのオプションについては、http://stackoverflow.com/questions/4205317/capture-keyboardinterrupt-in-python-without-try-exceptを参照してください。 – DSM