No bash, ao executar ( sleep 123 &)
, o sleep 123
processo continuará em execução, quando o subshell sair. Como posso parar o sleep 123
processo antes que seu subshell pai saia?
Estou tentando ver se o sleep 123
processo será encerrado, por causa do recebimento SIGHUP
e SIGCONT
. Estou procurando um exemplo para O SIGHUP é enviado para este processo órfão e por que ele não termina? e O kernel enviando SIGHUP para um grupo de processos que se torna órfão e contém um processo parado encerra todos os processos por padrão?
Isso mostrará o comportamento que você está tentando ilustrar:
Isso coloca
sleep
em segundo plano e depois o interrompe. Em seguida, ele é mortoSIGHUP
quando o subshell sai.Os sinais podem interromper algumas chamadas do sistema; veja a página de
signal(7)
manual (em particular a seção “Interrupção de chamadas de sistema e funções de biblioteca por manipuladores de sinal”). As chamadas de sistema usadas porsleep
em particular são interrompidas quando um manipulador de sinal é invocado, e isso é documentado emsleep(3)
.