Lista de sinais gerados pelo terminal (por exemplo, Ctrl-C - SIGINT)

8

Onde posso encontrar uma lista completa das combinações de teclado que enviam sinais no Linux?

Por exemplo:

  • Ctrl + C - SIGINT
  • Ctrl + \ - SIGQUIT
por Tom Hale 02.05.2017 / 07:44

2 respostas

11

A disciplina de linha N_TTY do Linux envia apenas três sinais diferentes: SIGINT, SIGQUIT e SIGTSTP. Por padrão, os seguintes caracteres de controle produzem os sinais:

  • Ctrl + C - SIGINT
  • Ctrl + \ - SIGQUIT
  • Ctrl + Z - SIGTSTP
por 02.05.2017 / 08:51
4

Você pode usar stty para verificar ou alterar os caracteres que geram sinais.

$ stty -a | grep -Ewoe '(intr|quit|susp) = [^;]+'
intr = ^C
quit = ^\
susp = ^Z

intr (interrupção) gera SIGINT , quit gera SIGQUIT , susp (suspend) gera SIGTSTP . stty -a também mostrará coisas como start = ^Q; stop = ^S; e erase = ^? (backspace), que não enviam sinais, mas afetam a camada do terminal.

O stty simples mostrará as configurações não padrão e por exemplo stty intr ^Q mudaria o caractere de interrupção para ^Q em vez de ^C .

Acho que ^L (feed de formulário, nova página) não é um recurso de terminal, mas um caractere usado com frequência pelos aplicativos para solicitar o redesenho da visualização, verificando novamente o tamanho da janela ao mesmo tempo.

    
por 02.05.2017 / 10:37