De ma compréhension, les emplois sont conduites ouvertes à partir d' une certaine shell et vous pouvez gérer ces emplois ( fg
, bg
, Ctrl-Z) à l' intérieur de cette enveloppe. Un travail peut consister en plusieurs processus / commandes.
Ma question est ce qui arrive à ces travaux lorsque l'original, contenant le shell, se termine? Supposons que huponexit n'est pas défini afin que les processus d'arrière-plan continuent de fonctionner après la fermeture du shell.
Supposons que j'ai fait:
$ run.sh | grep 'abc' &
[1] job_id
Ensuite, je quitte ce shell. Je vais entrer dans un nouveau shell et courir jobs
et ne rien voir évidemment. Mais je peux faire ps aux | grep run.sh
et voir ce processus en cours d'exécution et je vais aussi le faire ps aux | grep grep
et voir le processus pour grep 'abc'
fonctionner aussi.
Existe-t-il un moyen d'obtenir simplement l'ID de travail pour le pipeline complet afin que je puisse le tuer en une seule fois, ou dois-je tuer tous les processus séparément d'un autre shell une fois que j'ai quitté le shell d'origine? (J'ai essayé ce dernier et cela fonctionne, mais il semble difficile de garder une trace de tous les processus.)