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) } } }
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!