ターミナルの中で Ctrl+C キーボードショートカットは、現在のフォアグラウンドプロセスにSIGINT
シグナルを送信します。現在のプロセスにSIGTERM
またはSIGKILL
を送信するためのキーボードショートカットを設定する方法はありますか?時間の節約になると思います。
私は実行していますUbuntu 11.04
sttyがこれを制御する責任があります。すでに1つの設定を持っている可能性があります。次のようにして確認できます。
$ stty -e
speed 38400 baud; 53 rows; 225 columns;
lflags: icanon isig iexten echo echoe echok echoke -echonl echoctl
-echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
-extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff -ixany imaxbel -iutf8
-ignbrk brkint -inpck ignpar -parmrk
oflags: opost onlcr -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd -hupcl -clocal -cstopb -crtscts
-dsrflow -dtrflow -mdmbuf
discard dsusp eof eol eol2 erase intr kill lnext
^O ^Y ^D <undef> <undef> ^? ^C ^U ^V
min quit reprint start status stop susp time werase
1 ^\ ^R ^Q ^@ ^S ^Z 0 ^W
最後の数行は見慣れたものに見えるはずです。^ C = intrは、あなたが質問で述べたものです。詳細は次の方法で確認できます。
$ man stty
ターミナルの中で Ctrl+C キーボードショートカットは、SIGINTシグナルを現在のフォアグラウンドプロセスに送信します。
あなたの知識は2つの点で間違っています:
DEL
文字または何か他の文字であった可能性があります。)SIGTERMまたはSIGKILLを現在のプロセスに送信するためのキーボードショートカットを設定する方法はありますか?
いいえ。ライン規律は送信される信号を制御し、それらの信号はハードワイヤードされています。それらは(標準Unixでは)SIGHUP
、SIGINT
、SIGTTOU
、SIGTTIN
、SIGQUIT
、およびSIGTSTP
です。 。回線分野によって生成される他のものはありません。
Ttyで利用可能なシグナルのセットはSIGINT
(Ctrl+C)、SIGTSTP
(Ctrl+Z)とSIGQUIT
(Ctrl+\)。それらに異なる文字を割り当てることができますが、それらが利用可能な唯一の信号です。あなたの目的のためにあなたが使うことができるかもしれません Ctrl+\SIGQUIT
を送信します。ただし、エラーのように動作し、デフォルトでコアダンプが発生します。 stty
コマンドを使用して、設定を表示および変更できます。