Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mendapatkan Kod Keluar dari Perintah Sistem dalam Go?

Bagaimana untuk Mendapatkan Kod Keluar dari Perintah Sistem dalam Go?

Patricia Arquette
Lepaskan: 2024-12-19 07:59:32
asal
154 orang telah melayarinya

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

Cara Mendapatkan Kod Keluar Menggunakan Go

Dalam Go, pakej os/exec menyediakan cara untuk melaksanakan arahan sistem. Walau bagaimanapun, mendapatkan semula kod keluar menimbulkan cabaran.

Dapatkan Kod Keluar semasa Berjaya

Apabila arahan keluar dengan kod keluar 0, fungsi cmd.Wait() kembali tiada.

Dapatkan Kod Keluar apabila Kegagalan (untuk Linux Sahaja)

Untuk sistem Linux, coretan kod berikut menunjukkan cara mendapatkan kod keluar apabila arahan gagal:

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)
        }
    }
}
Salin selepas log masuk

Tiada Pendekatan Merentas Platform

Malangnya, tiada kaedah merentas platform untuk mendapatkan semula kod keluar apabila gagal. API os/exec tidak mempunyai fungsi ini mengikut reka bentuk.

Sumber Tambahan

Artikel komprehensif ini menghuraikan topik ini dan menyediakan butiran teknikal tambahan: http://golang. org/pkg/os/exec/

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kod Keluar dari Perintah Sistem dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan