Was bedeutet der Prozess exit-status 3 bedeutet?
Ich habe gesehen, die Nutzung der exit-status 3
in mehreren python-Skripte, dass Prozesse neu starten. Soweit ich weiß, die convention ist nur über 0
und "nicht 0
" auf Unix/Linux.
Gibt es eine Konvention definieren andere Werte wie 3
.
- Wenn es eine Konvention, die es immer noch nicht die Antwort auf die Frage "was bedeutet 3 mittlere in diesem Fall "? Eine Konvention ist kein Gesetz. Und das bestimmte Skript, mit dem Sie arbeiten, könnte Sie nicht Einhaltung der Konvention.
- Ich denke, was er fragt, ist, "ich weiß, dass 0 bedeutet kein Fehler, und nicht-null bedeutet, daß ein Fehler, aber gibt es da eine Konvention gibt, die in Python/Linux/Unix-land gibt, die Besondere Bedeutung zu, 3?"
- Was ich damit sagen will ist, dass selbst wenn es eine Konvention, dass die Informationen wenig hilfreich. Ich denke, die eigentliche Frage ist "was bedeutet 3 mittlere in diesem Fall "?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zumindest in den alten Tagen, ein Rückgabewert von 1 in der Regel bedeutete, einen hard-error und mit dem Wert 2 wurde in der Regel reserviert für Probleme mit der Kommandozeile Argumente — es bedeutet, dass der Benutzer einen Fehler gemacht hat, nicht das Programm. Aber darüber hinaus: Nein, keine Konvention; und selbst das leichte Konvention war nicht universal. Wie Bindestriche vor command-line Argumente, die in einigen Versionen von ps(1) lassen Sie weglassen, return-codes waren nur Konvention. Im Allgemeinen, Lesen Sie die Dokumentation (oder der Quelle!) um das Skript laufen Sie, und Sie haben dann zu schreiben, Fehler-code im code überprüfen, um Ihre spezifischen Bedeutungen.
Es gibt keine Konvention für nicht-null-Werte, werden Sie Häufig verwendet, um die Kommunikation der Grund für die Kündigung und es ist für jede Anwendung zu definieren, die die Zuordnung der Fehler-code und der Vernunft. Im Fall Sie eine Verknüpfung herstellen, können Sie deutlich sehen, ein paar Zeilen über die Prüfung für den exit-code 3 an, es wird verwendet, um anzuzeigen, dass der code sich geändert hat.
Dh in diesem Fall gibt dies dem Verhalten, dass der automatische Neustart erfolgt, solange der Grund der Kündigung war, dass der code geändert wird und sonst nichts.
BSD versucht zu standardisieren, exit-codes, aber es hat nicht (noch nicht?) gefangen auf:
sysexits3
In diesem Fall ist es unklar. foret ' s Vorschlag möchte ich ganz tun, wenn der Entwickler ist immer noch rund.
Der Advanced Bash Scripting Guide listet einige gängige exit-codes mit speziellen Bedeutungen.