Исторически было три сигнала, связанных с нажатиями клавиш, это были
- SIGINT (Intettput) обычно CTRL-C или DEL
- SIGQUIT - Выход - Обычно привязывается к CTRL-\
- SIGSUSP Suspend - обычно привязывается к CTRL-Z
На некоторых разновидностях * nix есть и другие связанные сигналы, вы можете проверить привязки клавиатуры, используя команду
stty -a
В моей системе OS/X это выдает следующий вывод
speed 9600 baud; 65 rows; 213 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
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
stop = ^S; susp = ^Z; time = 0; werase = ^W;
Обратите внимание, что в этом случае kill не является сигналом KILL, это связано с очисткой текущего входного буфера.
Вы можете добиться большего успеха с остановкой процессов с помощью SIGQUIT, но это может быть не так, поскольку процесс может перехватить сигнал и проигнорировать его.
Не существует понятия списка "прерванных" процессов, так как процесс либо перехватил и проигнорировал прерывание, либо завершился. Вы можете получить список приостановленных процессов, набрав задание