ホームページ >バックエンド開発 >Golang >Go の exec.Command が「終了ステータス 1」を返すのはなぜですか?詳細情報を取得するにはどうすればよいですか?

Go の exec.Command が「終了ステータス 1」を返すのはなぜですか?詳細情報を取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-13 13:32:02825ブラウズ

Why Does exec.Command in Go Return

Golang Exec.Command の「終了ステータス 1」エラーのデバッグ

Golang で exec.Command を使用するときに、謎の「終了ステータス 1」エラーが発生すると、頭を悩ませることになります。詳細については頭を悩ませます。この記事は、このエラーの原因を解明し、より詳細な診断のための解決策を提供することを目的としています。

次のコードを考えてみましょう:

cmd := exec.Command("find", "/", "-maxdepth", "1", "-exec", "wc", "-c", "{}", "\")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()

このコードを実行すると、有益ではない「終了ステータス 1」エラーが発生します。 。これを解決するには、Command オブジェクトの Stderr プロパティを利用します。

var stderr bytes.Buffer
cmd.Stderr = &stderr

実行すると、エラー メッセージが表示されます:

exit status 1: find: -exec: no terminating ";" or "+"

この詳細なエラーを確認して、

注: 一部のコマンドは、エラー メッセージを stderr ではなく stdout にリダイレクトします。さらに、特定のコマンドはエラー メッセージを stderr に出力しても、依然としてゼロのエラー コードを返す場合があります (コード内で nil エラーが発生することになります)。したがって、使用している特定のコマンドに合わせて、指定されたソリューションを調整する必要がある場合があります。

以上がGo の exec.Command が「終了ステータス 1」を返すのはなぜですか?詳細情報を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。