Heim > Backend-Entwicklung > Golang > Wie rufe ich den Exit-Code eines Systembefehls in Go ab?

Wie rufe ich den Exit-Code eines Systembefehls in Go ab?

Patricia Arquette
Freigeben: 2024-12-19 07:59:32
Original
165 Leute haben es durchsucht

How to Retrieve the Exit Code of a System Command in Go?

So erhalten Sie Exit-Code mit Go

In Go bietet das Paket os/exec die Möglichkeit, Systembefehle auszuführen. Das Abrufen des Exit-Codes stellt jedoch eine Herausforderung dar.

Exit-Code bei Erfolg abrufen

Wenn ein Befehl mit Exit-Code 0 beendet wird, kehrt die Funktion cmd.Wait() zurück Null.

Exit-Code bei Fehler abrufen (für Linux Nur)

Für Linux-Systeme zeigt der folgende Codeausschnitt, wie man den Exit-Code erhält, wenn der Befehl fehlschlägt:

import (
    "fmt"
    "log"
    "os/exec"
    "syscall"
)

func main() {
    cmd := exec.Command("git", "blub")

    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 {
            fmt.Printf("Exit Status: %d", exiterr.ExitCode())
        } else {
            log.Fatalf("cmd.Wait: %v", err)
        }
    }
}
Nach dem Login kopieren

Kein plattformübergreifender Ansatz

Leider gibt es keine plattformübergreifende Methode, um den Exit-Code bei einem Fehler abzurufen. Der os/exec-API fehlt diese Funktionalität von Natur aus.

Zusätzliche Ressource

Dieser umfassende Artikel geht näher auf dieses Thema ein und bietet zusätzliche technische Details: http://golang. org/pkg/os/exec/

Das obige ist der detaillierte Inhalt vonWie rufe ich den Exit-Code eines Systembefehls in Go ab?. 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