Dalla mia comprensione, di posti di lavoro sono condotte iniziate da un certo guscio e si possono gestire questi lavori ( fg
, bg
, Ctrl-Z) da dentro questo guscio. Un lavoro può essere composto da più processi / comandi.
La mia domanda è: cosa succede a questi lavori quando esce l'originale, contenente shell? Supponiamo che huponexit non sia impostato in modo che i processi in background continuino a essere eseguiti dopo la chiusura della shell.
Supponiamo di aver fatto:
$ run.sh | grep 'abc' &
[1] job_id
Quindi esco da questa shell. Entro in una nuova shell e corro jobs
e ovviamente non vedo nulla. Ma che posso fare ps aux | grep run.sh
e vedere questo processo in esecuzione e io anche fare ps aux | grep grep
e vedere il processo per grep 'abc'
l'esecuzione troppo.
C'è un modo per ottenere l'ID lavoro per l'intera pipeline in modo da poterlo uccidere in una volta sola o devo uccidere tutti i processi separatamente da un'altra shell una volta uscita dalla shell originale? (Ho provato quest'ultimo e funziona, ma sembra una seccatura tenere traccia di tutti i processi.)