Por que o SIGTSTP existe quando já existe o SIGSTOP?

2

Eu sempre achei que Ctrl-Z em um terminal (enquanto no modo canônico) gera SIGSTOP , mas de acordo com man 3 tcsetattr , ele gera SIGTSTP . No entanto, em ambos os casos, SIGCONT é usado para retomar os processos interrompidos.

Qual é o motivo pelo qual Ctrl-Z não gera apenas SIGSTOP ? Existe um caso em que é útil para um programa manipular SIGTSTP diferentemente de SIGSTOP ?

    
por Stefan Majewsky 10.12.2017 / 20:04

1 resposta

6

Como KILL, o STOP não pode ser capturado, bloqueado ou ignorado: ele sempre interrompe o processo de recebimento. O TSTP, por outro lado, pode ser ignorado ou manipulado de uma maneira diferente; por exemplo, shells e Emacs, configure manipuladores TSTP para lidar com Ctrl Z . Este comportamento em shells assegura que pressionar Ctrl Z é sempre seguro, e não o deixará preso em um terminal com um processo parado e sem maneira de resumi-lo.

    
por 10.12.2017 / 20:12