Heim > Backend-Entwicklung > Golang > Warum gibt mein Golang „exec.Command' „Exit Status 1' zurück?

Warum gibt mein Golang „exec.Command' „Exit Status 1' zurück?

Susan Sarandon
Freigeben: 2024-11-24 04:45:19
Original
247 Leute haben es durchsucht

Why Does My Golang `exec.Command` Return

So ermitteln Sie die Ursache des „Exit Status 1“-Fehlers in Golangs exec.Command

Beim Ausführen der exec.Command-Methode in Golang , kann der Empfang einer Fehlermeldung „Exit-Status 1“ frustrierend vage sein. Das Fehlen spezifischer Informationen behindert ein effektives Debugging.

Um detailliertere Informationen abzurufen, nutzen Sie die Stderr-Eigenschaft des Command-Objekts. Dies wird erreicht durch:

var out bytes.Buffer
var stderr bytes.Buffer
cmd.Stdout = &out
cmd.Stderr = &stderr
err := cmd.Run()
Nach dem Login kopieren

Durch die Umleitung von Fehlern in den stderr-Puffer können Sie im Falle eines Befehlsfehlers darauf zugreifen.

if err != nil {
    fmt.Println(fmt.Sprint(err) + ": " + stderr.String())
    return
}
Nach dem Login kopieren

In einigen Fällen ist die Ausgabe wird sowohl in stdout als auch in stderr angezeigt. Wenn der Befehl einen Fehlercode ungleich Null zurückgibt, wie im folgenden Beispiel:

cmd := exec.Command("find", "/", "-maxdepth", "1", "-exec", "wc", "-c", "{}", "\")
Nach dem Login kopieren

Die Fehlermeldung lautet:

exit status 1: find: -exec: no terminating ";" or "+"
Nach dem Login kopieren

Es ist wichtig zu beachten, dass stderr dies normalerweise anzeigt Bei Fehlern geben einige Befehle Fehler in stdout oder in stderr aus, ohne einen Fehlercode zurückzugeben. Daher kann es erforderlich sein, Ihren Code an bestimmte Befehle anzupassen.

Das obige ist der detaillierte Inhalt vonWarum gibt mein Golang „exec.Command' „Exit Status 1' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage