Angenommen, ich führe beispielsweise einen Befehl in einer Shell-Sitzung aus bash -c 'apt-get update && apt-get upgrade'
. 5 Minuten später entscheide ich mich für einen Snack nach draußen und stelle fest, dass ich vergessen habe, einen Benachrichtigungsmechanismus hinzuzufügen, um festzustellen, ob der Ausgang erfolgreich war oder fehlgeschlagen ist.
Nun, was mache ich jetzt? Wenn ich nur von einem anderen Terminal aus den Exit-Status dieses anderen Befehls (oder speziell dieser PID) abfragen könnte, könnte ich vielleicht doch eine Art Popup anzeigen. Die Frage ist also: Wie kann ich den Exit-Status eines bereits laufenden Prozesses von einem anderen Terminal aus abfragen?
Mit anderen Worten,
GEGEBEN, dass ich einen laufenden Prozess in Terminal A habe UND dessen PID bekannt ist
WENN ich einen Befehl in Terminal B ausführe
DANN sollte ich wissen können, ob der Prozess in Terminal A mit dem Exit-Status 0 oder dem Exit-Status> 1 endet.
wait
den Code eines Hintergrundprozesses in Ihrer aktuellen Shell abrufen, nachdem dieser beendet wurde, aber ich konnte nichts finden, mit dem andere Shells abgefragt werden könnten. Das einfache Überwachen, ob ein Prozess noch ausgeführt wird, und das Auslösen einer Warnung nach dem Beenden ist ebenfalls wieder trivial, ohne jedoch den Beendigungscode herauszufinden. Der einzige Weg, den ich mir PROMPT_COMMAND
vorstellen könnte, wäre die Vorbereitung Ihrer Shell , um den letzten Exit-Code in einem Tempfile oder einem ähnlichen zugänglichen Ort zu speichern. Wäre das eine Option?