Python アプリケーション (たとえば、Python シェル) を使用しているときに、 を押すCtrl\
と、
>>> Quit (core dumped)
これはなぜですか?どうすればこれを回避できますか? Ctrl\
うっかり押すたびにアプリが抜けてしまうと大変不便です。
CTRL- \QUIT シグナルを生成する Linux キーです。一般に、そのシグナルにより、プログラムは終了し、コアをダンプします。これは UNIX と Linux の機能であり、Python とはまったく関係ありません。(たとえば、try のsleep 30
後にCTRL-を付け\ます。)
この機能を無効にする場合は、sttyコマンドを使用します。
Python を起動する前に、Linux コマンド ラインから次の操作を行います。
stty quit undef
python モジュールsignal
はこれに対処するのに便利です。
import signal
# Intercept ctrl-c, ctrl-\ and ctrl-z
def signal_handler(signal, frame):
pass
signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGQUIT, signal_handler)
signal.signal(signal.SIGTSTP, signal_handler)
(この場合) 何もしないシグナルにハンドラーを追加するだけです。