Befehl anfügen, der ausgeführt werden soll, wenn ein Thread mit langer Laufzeit zurückkehrt

Befehl anfügen, der ausgeführt werden soll, wenn ein Thread mit langer Laufzeit zurückkehrt

Angenommen, ich habe gerade einen Befehl gestartet, dessen Ausführung lange dauern wird, wie etwa hg clonedas gesamte Pypy-Entwicklungsset. Auf halbem Weg entscheide ich, dass ich einen anderen Prozess ausführen möchte, etwa hg up, sobald der erste zurückkehrt. Gibt es eine Möglichkeit, einen Befehl anzuhängen, der ausgeführt wird, wenn der Prozess zurückkehrt, ohne den Befehl/Prozess anzuhalten und ihn dann als verketteten Befehl neu zu starten? Befehl/Prozess?

Antwort1

Angenommen, Sie verwenden bashund vorausgesetzt, Sie haben die zeitintensive Aufgabe in den Hintergrund der aktuellen Shell gestellt, entweder durch Ausführen longtask &oder durch Starten der Aufgabe und anschließendes Drücken von CTRL+ Z, dann können Sie einen zusätzlichen auszuführenden Befehl hinzufügen, z. B.:

$ sleep 45 &
[1] 27722
$ wait 27722 && echo "Done"
[1]+  Done   sleep 45
Done
$

Im obigen Beispiel echo "Done"wird die erst nach Abschluss der waitauf PID 27722 ausgeführt.

Ich habe noch keine Möglichkeit gefunden, diesen zusätzlichen Befehl in den Hintergrund zu stellen, damit Sie in derselben Shell weiterarbeiten können. Es muss aber eine Möglichkeit geben, dies zu tun – dies sollte Ihnen hoffentlich einen Anfang bieten.

verwandte Informationen