No meu entendimento, os empregos são pipelines iniciados a partir de um certo shell e você pode gerenciar esses postos de trabalho ( fg
, bg
, Ctrl-Z) a partir desta shell. Um trabalho pode consistir em vários processos / comandos.
Minha pergunta é o que acontece com esses trabalhos quando o shell original, que sai, sai? Suponha que o huponexit não esteja definido para que os processos em segundo plano continuem em execução após a saída do shell.
Suponha que eu tenha feito:
$ run.sh | grep 'abc' &
[1] job_id
Então eu saio desse shell. Vou entrar em um novo shell e correr sem jobs
ver nada, obviamente. Mas eu posso fazer ps aux | grep run.sh
e ver esse processo em execução e também o faço para ps aux | grep grep
ver grep 'abc'
também.
Existe uma maneira de obter apenas o ID do trabalho para o pipeline completo para que eu possa matá-lo de uma só vez ou preciso matar todos os processos separadamente de outro shell depois de sair do shell original? (Eu tentei o último e funciona, mas parece um aborrecimento acompanhar todos os processos.)