2015年12月12日

Ctrl + Backslashによるコアダンプを無効にする

Linuxのコンソール上でプログラムを動かしている際に、Ctrl + \ を押すと下記のようなメッセージが出てプログラムが終了する。

終了 (コアダンプ)

これ自体はコアダンプを出力するありがたいコマンドなんだけど、私が使っているパソコンは残念なことにPageUpとBackslashが隣接した位置に存在する。

私が利用しているXfce4-terminalはコンソールのタブ移動がCtrl + PageUp/PageDownに割り当てられている。プログラムをキックして、ちょっと別のタブを見ようとして押し間違えてコアダンプという押し間違いが何度可発生したので、止めてしまおうことにした。

止め方はStacoverflowを参考にした。

http://stackoverflow.com/questions/19248556/why-does-pressing-ctrl-backslash-result-in-core-dump

stty(端末の設定をするコマンド)で書き換えられるらしい。

実行する前の状態を確認しておく。

$ stty -a | grep quit

intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;

quit = ^\; となっている。これをundefに設定する。

$ stty quit undef

これでquitにundefに置き換えられた。

$ stty -a | grep quit

intr = ^C; quit = ; erase = ^?; kill = ^U; eof = ^D; eol = M-^?;

これだけだと当該のセッションのみ有効なので、.bash_profileあたりにでも書いておく。