Go を使用して終了コードを取得する方法
Go では、os/exec パッケージがシステム コマンドを実行する手段を提供します。ただし、終了コードの取得には課題が生じます。
成功時の終了コードの取得
コマンドが終了コード 0 で終了すると、cmd.Wait() 関数が戻ります。 nil.
失敗時の終了コードの取得 (Linux の場合)のみ)
Linux システムの場合、次のコード スニペットは、コマンドが失敗したときに終了コードを取得する方法を示しています。
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) } } }
クロスプラットフォーム アプローチなし
残念ながら、失敗時に終了コードを取得するクロスプラットフォームの方法はありません。 os/exec API には設計によりこの機能がありません。
追加リソース
この包括的な記事では、このトピックについて詳しく説明し、追加の技術的詳細を提供します。http://golang. org/pkg/os/exec/
以上がGoでシステムコマンドの終了コードを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。