Was ist die Bedeutung von Werten aus Java-Prozess.exitValue()?

Ich bin mit Process über ProcessBuilder zum ausführen einer ausführbaren Datei gemacht, in C-code. Ich bin, fangen die Process.exitValue() reagieren auf diese exit-Werte. Ich bemerkte nicht alle exit-Werte sind aus der ausführbaren Datei. Zum Beispiel bekomme ich immer einen exit-Wert von 139 und nirgendwo in meinem C-code bin ich wieder ein exit-Wert von 139.

Ich versuche zu finden, eine übersicht über die exit-Werte, aber ich kann nicht finden, und jetzt fand ich heraus, das exit-Wert kann OS abhängig. (Ich benutze Ubuntu).

Es scheint die einzige exit-Wert sicher zu sein, ist 0, wenn alles richtig geht.
Gibt es Vorgaben über die exit-Werte? Kann ich sicher sein, dass ein bestimmter Bereich kann verwendet werden, nur für mein eigenes Programm? Welche exit-codes sind reserviert für das OS.

Fand ich heraus, dass 139 ist wohl ein Speicher-Fehler im C-code. Ich möchte, um loszuwerden, das wohl. Ich bekomme keine übersicht über die exit-Werte (z.B. 139 = .....)

Dies ist der vereinfachte code by the way:

ProcessBuilder p = new ProcessBuilder(executableName,
   executableArguments);
final Process shell = p.start();
InputStream shellIn = shell.getInputStream();
int shellExitStatus = shell.exitValue();

Hinweis: durch Ausführen der ausführbaren C in der Ubuntu-shell gibt keine Fehler bei allen (d.h. exit-Wert 0). Aber, tun Sie den gleichen Befehl in Java gibt den exit-Wert 139.

139 ist ein Segmentation fault. Es bedeutet, dass Ihr c-app ist ein Zugriff auf Speicher, es sollte nicht zugreifen.
Dieser beantwortet deine Frage, glaube ich.
Gefunden dieser auch, aber ich weiß nicht, wie bedeutsam es für Sie ist.
und Kazekage, danke, aber das habe ich ungefähr herausgefunden, was ich wissen muss ist, welche exit-Code kann ich im c-code, um sicher zu sein es ist meine eigene exit-Code, und: wo finde ich die Liste mit exit-codes? Die Antwort bezeichnet, ich habe Suche auf stackoverflow, bevor dieses posting Frage.
der zweite Kommentar, der kazekage ist nützlich: es zeigt den Bereich...

InformationsquelleAutor michel.iamit | 2012-06-20

Schreibe einen Kommentar