Desavisável ou não, na verdade é impossível:
Os atalhos de teclado Control + [?] são realmente manipulados pelo driver tty e não pelo shell, porque enquanto houver um processo em execução em primeiro plano, a entrada e a saída do terminal serão encaminhadas diretamente para o processo. A concha nunca seria capaz de agir sobre (ou até mesmo ver) seus pressionamentos de tecla.
Você pode obter uma lista das combinações de teclas Ctrl + [?] atualmente atribuídas de stty -a
; no entanto, apenas intr
(SIGINT, normalmente ligado a Ctrl + C) quit
(SIGQUIT, normalmente ligado a Ctrl + \) e susp
(SIGSUSP, normalmente associado a Ctrl + Z) correspondem a sinais unix reais. ( kill,
, por exemplo, não envia SIGKILL, mas apaga a entrada atual.)
Infelizmente, não há como enviar um dos dois sinais que não podem ser desabilitados por um processo (SIGKILL e SIGSTOP), então se todos os três sinais mencionados não tiverem efeito, você terá que usar alguns outra maneira (por exemplo, outro shell) para matar o processo em primeiro plano.
(Na verdade, além de capturar todos os três sinais, o processo de primeiro plano pode até desabilitar as combinações de teclas especiais em primeiro lugar definindo o tty para o modo "raw". O SSH faz isso, por exemplo - é assim ele pode retransmitir um Ctrl + C localmente pressionado para o host remoto.)