SIGTERM с сочетанием клавиш

Я знаю, что в терминале сочетание клавиш Ctrl + C посылает сигнал SIGINT в текущий процесс переднего плана. Есть ли способ настроить сочетание клавиш для отправки SIGTERM или даже SIGKILL в текущий процесс? Думаю, это может спасти меня.

Я запускаю Ubuntu 11.04

Stty отвечает за управление этим, у вас может быть уже одна настройка. Вы можете проверить, выполнив:

$ 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 в текущий процесс переднего плана.

Ваши знания неверны по двум пунктам:

  1. Сигнал отправляется в группу процессов переднего плана.
  2. Это только CTRL + C, если это специальный символ, который в данный момент настраивается. (Это значение по умолчанию для большинства современных систем, но исторически это мог быть символ DEL или что-то еще.)

Есть ли способ настроить сочетание клавиш для отправки SIGTERM или даже SIGKILL в текущий процесс?

Нет. Линейная дисциплина контролирует, какие сигналы отправляются, и эти сигналы жестко привязаны. Они (в стандартном Unix) SIGHUP , SIGINT , SIGTTOU , SIGTTIN , SIGQUIT и SIGTSTP . Других, созданных линейной дисциплиной, нет.

Набор доступных сигналов для tty – SIGINT (^ C), SIGTSTP (^ Z) и SIGQUIT (^ \). Вы можете назначить для них разные символы, но это единственные доступные сигналы. Для ваших целей вы можете использовать ^ \ для отправки SIGQUIT, хотя он действует как ошибка и вызывает по умолчанию дамп ядра. Вы можете использовать команду stty для просмотра и изменения настроек.

Interesting Posts
Давайте будем гением компьютера.