nohup
é ineficaz contra watch
porque watch
instala um manipulador de sinal para SIGHUP
, que substitui o instalado por nohup
.
nohup
funciona configurando o manipulador de sinal para SIGHUP
para SIG_IGN
, o que faz com que o sinal seja ignorado e, em seguida, executa o programa que foi solicitado a executar. Isso funciona bem com programas de destino que deixam os sinais configurados da maneira como estavam quando começaram, o que significa principalmente programas que não prestam atenção aos sinais. Mas watch
instala um manipulador de sinal para SIGHUP
e outros sinais (para o propósito de restaurar as alterações que ele faz nas configurações do terminal antes de sair).