Heim >Backend-Entwicklung >Golang >Wie kann ich den Exit-Code eines externen Befehls in Go abrufen?
So rufen Sie den Exit-Code in Go ab
Bei der Verwendung des OS/Exec-Pakets zum Ausführen von Befehlen im Betriebssystem stoßen Benutzer häufig auf Schwierigkeiten Abrufen des Exit-Codes. Während das Lesen der Ausgabe durch Erfassen der Standardausgabe möglich ist, bleibt das Erhalten des Exit-Codes eine Herausforderung.
Lösung:
Die Bestimmung, ob der Exit-Code 0 ist oder nicht kann durch cmd.Wait() erreicht werden, das im Falle eines erfolgreichen Exits Null zurückgibt. Wenn der Exit-Code jedoch ungleich Null ist, kann es schwieriger werden, ihn zu erhalten. Dies liegt an der plattformabhängigen Natur des Exit-Code-Abrufs.
Plattformspezifischer Ansatz für Linux:
Obwohl es keinen plattformübergreifenden Ansatz zum Abrufen des Exits gibt Codes kann das folgende Snippet auf Linux-Systemen verwendet werden:
import "syscall" if err := cmd.Start(); err != nil { log.Fatalf("cmd.Start: %v", err) } if err := cmd.Wait(); err != nil { if exiterr, ok := err.(*exec.ExitError); ok { log.Printf("Exit Status: %d", exiterr.ExitCode()) } else { log.Fatalf("cmd.Wait: %v", err) } }
Diese Methode ermöglicht die Abrufen von Exit-Codes speziell für Linux-Systeme. Es ist jedoch wichtig zu beachten, dass dieser Ansatz möglicherweise nicht universell anwendbar ist.
Zusätzliche Ressourcen:
Weitere Informationen zur Behandlung von Exit-Codes in Go finden Sie im Paketdokumentation:
[os/exec – Prozessmanagement](https://golang.org/pkg/os/exec/)
Das obige ist der detaillierte Inhalt vonWie kann ich den Exit-Code eines externen Befehls in Go abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!