ホームページ > バックエンド開発 > Golang > Goでシステムコマンドの終了コードを取得するにはどうすればよいですか?

Goでシステムコマンドの終了コードを取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-19 07:59:32
オリジナル
165 人が閲覧しました

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

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート