18

Python アプリケーション (たとえば、Python シェル) を使用しているときに、 を押すCtrl\と、

>>> Quit (core dumped)

これはなぜですか?どうすればこれを回避できますか? Ctrl\うっかり押すたびにアプリが抜けてしまうと大変不便です。

4

2 に答える 2

35

CTRL- \QUIT シグナルを生成する Linux キーです。一般に、そのシグナルにより、プログラムは終了し、コアをダンプします。これは UNIX と Linux の機能であり、Python とはまったく関係ありません。(たとえば、try のsleep 30後にCTRL-を付け\ます。)

この機能を無効にする場合は、sttyコマンドを使用します。

Python を起動する前に、Linux コマンド ラインから次の操作を行います。

stty quit undef
于 2013-10-08T13:17:11.567 に答える
11

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)

(この場合) 何もしないシグナルにハンドラーを追加するだけです。

于 2013-11-23T12:52:55.607 に答える