Не спостерігається чи ні, насправді неможливо:
Пов’язки клавіш Control + [?] Насправді обробляються драйвером tty, а не оболонкою, оскільки, поки на передньому плані є процес, що вводиться і виводить ваш термінал, він буде направлений безпосередньо в процес. Оболонка ніколи не зможе діяти (або навіть бачити) ваші натискання клавіш.
Ви можете отримати список призначених на даний момент комбінацій клавіш Ctrl + [?] З stty -a
; однак лише intr
(SIGINT, як правило, пов'язаний з Ctrl + C) quit
(SIGQUIT, як правило, пов'язаний з Ctrl + \) і susp
(SIGSUSP, як правило, пов'язаний з Ctrl + Z), відповідають дійсним сигналам unix. (kill,
наприклад, не надсилає SIGKILL, але видаляє поточний ввід.)
На жаль, немає способу надіслати один із двох сигналів, які неможливо відключити процесом (SIGKILL та SIGSTOP), тому якщо всі три згадані сигнали не мають ефекту, вам доведеться скористатися іншим способом ( наприклад, інша оболонка), щоб знищити процес переднього плану.
(Насправді, крім того, щоб уловлювати всі три сигнали, процес переднього плану може навіть відключити спеціальні комбінації клавіш, в першу чергу, встановивши режим tty на "необроблений" режим. SSH робить це, наприклад - ось як він може ретранслюватися локально натиснутою Ctrl + C на віддалений хост.)