Was ist der Exit-Status?
Der Beendigungsstatus eines Programms, der auch als Rückkehrcode bezeichnet wird, ist eine Zahl, die ein Programm an das Betriebssystem, das Skript oder einen anderen Prozess weitergibt, das bzw. der es ursprünglich ausgeführt hat, nachdem das Programm beendet wurde. Es gibt keine wirklichen Regeln für die Bedeutung der als Beendigungsstatus verwendeten Zahlen, obwohl ein Wert von Null traditionell bedeutet, dass das Programm normal beendet wird, und jeder Wert ungleich Null bedeutet, dass das Programm unerwartet beendet wird. Durch Zuweisen einer Nummer zum Beendigungsstatus kann das ursprüngliche Programm oder der ursprüngliche Prozess, der den Code aufgerufen hat, feststellen, ob das Programm die erforderlichen Aufgaben erfolgreich ausgeführt hat oder ob andere Maßnahmen ergriffen werden müssen.
Fast alle Computersprachen und viele Skriptsprachen verfügen über Mechanismen oder Funktionen, die einen Beendigungsstatus zurückgeben können. Es gibt Situationen, in denen ein Programm mitten in der Ausführung absichtlich beendet werden kann, indem ein bestimmter Fehlercode verwendet wird, um anzuzeigen, dass etwas nicht stimmt, z. B. eine fehlende Datendatei oder ein Mangel an Computerspeicher. Programme, die keinen expliziten Exit-Statuscode definieren, geben eine Null an das aufrufende Programm zurück, es sei denn, das Betriebssystem oder der Sprachinterpreter beenden das Programm aufgrund von Fehlern.
Der Beendigungsstatus kann auch verwendet werden, um mit einem Skript oder einem anderen Prozess zu kommunizieren, indem bestimmte Werte zurückgegeben werden, die angeben, welche Aktion als Nächstes ausgeführt werden soll. Ein Beispiel wäre ein Skript, mit dem ein Programm trotz möglicher Zeiten, in denen das Programm möglicherweise zur Wartung beendet wird, weiter ausgeführt werden soll. Dieses Schema wird mit dem Skript ausgeführt, das das Programm ausführt, und wartet, bis es beendet wird. Die Programmierer könnten es so anordnen, dass das Programm eine Zahl zurückgibt, um zu bedeuten, dass es permanent beendet wird und nicht neu gestartet werden sollte, und eine andere Zahl könnte das Skript anweisen, eine Zeit lang zu warten und das Programm dann neu zu starten. Ein dritter Wert könnte darauf hinweisen, dass das Programm auf einen Fehler gestoßen ist und die Aufmerksamkeit eines Programmierers benötigt.
Die Verwendung eines Beendigungsstatuscodes für die Kommunikation ist in bestimmten Situationen aufgrund der Sicherheit und anderer Einschränkungen, die einige Programme unter verschiedenen Betriebssystemen haben, praktisch. Es gibt viele Fälle, in denen ein Programm nicht mit seinem aufrufenden Prozess oder einem anderen Programm kommunizieren kann, das parallel auf demselben System ausgeführt wird. In diesen Situationen sind die Optionen für die Kommunikation zwischen Programmen auf komplexe Schemata beschränkt, die gemeinsam genutzten Speicher, Netzwerk-Socket-Verbindungen oder das Schreiben von Dateien umfassen. Durch die Verwendung eines Exit-Status können einfache Informationen auf sehr einfache Weise übergeben werden, ohne dass ein benutzerdefiniertes Framework entwickelt werden muss.