Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mendapatkan Kod Keluar dari Perintah yang Dilaksanakan dalam Go?
Mendapatkan Kod Keluar dalam Go
Melaksanakan arahan pada sistem pengendalian menggunakan pakej os/exec menyediakan cara yang mudah untuk berinteraksi dengan luaran proses. Walau bagaimanapun, mendapatkan kod keluar perintah yang dilaksanakan boleh menjadi satu cabaran pada mulanya.
Untuk menyelesaikan isu ini, satu pendekatan adalah untuk memantau jika fungsi cmd.Wait() mengembalikan sifar, yang menunjukkan kod keluar 0. Walau bagaimanapun, mengakses kod keluar tertentu sekiranya berlaku ralat boleh menjadi lebih kompleks.
Kod Keluar Khusus Platform Retrieval
Malangnya, tiada mekanisme merentas platform untuk mendapatkan semula kod keluar untuk kes ralat. Penyelesaian berikut secara khusus menangani sistem Linux:
import ( "os/exec" "log" "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 { log.Printf("Exit Status: %d", exiterr.ExitCode()) } else { log.Fatalf("cmd.Wait: %v", err) } } }
Pendekatan ini menggunakan pakej syscall untuk menghantar ralat kepada jenis *exec.ExitError, membenarkan akses kepada kod keluar.
Penerokaan Dokumentasi
Merujuk dokumentasi API bagi pakej os/exec boleh memberikan maklumat lanjut tentang topik ini.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kod Keluar dari Perintah yang Dilaksanakan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!