Von meinem Verständnis, Arbeitsplätze sind Pipelines von einer bestimmten Shell gestartet und Sie können diese Aufträge (verwalten fg
, bg
Strg-Z) aus dieser Schale. Ein Job kann aus mehreren Prozessen / Befehlen bestehen.
Meine Frage ist, was passiert mit diesen Jobs, wenn das Original mit der Shell beendet wird? Angenommen, huponexit ist nicht festgelegt, sodass Hintergrundprozesse nach dem Beenden der Shell weiter ausgeführt werden.
Angenommen, ich habe getan:
$ run.sh | grep 'abc' &
[1] job_id
Dann verlasse ich diese Shell. Ich werde eine neue Shell betreten und rennen jobs
und offensichtlich nichts sehen. Aber ich kann ps aux | grep run.sh
diesen Prozess ausführen und sehen, und ich werde auch ps aux | grep grep
den Prozess zum grep 'abc'
Ausführen ausführen und sehen .
Gibt es eine Möglichkeit, nur die Job-ID für die vollständige Pipeline abzurufen, damit ich sie auf einmal beenden kann, oder muss ich alle Prozesse getrennt von einer anderen Shell beenden, sobald ich die ursprüngliche Shell verlassen habe? (Letzteres habe ich ausprobiert und es funktioniert, aber es scheint mühsam, alle Prozesse im Auge zu behalten.)