php エディター Zimo は、PHP で os/exec 関数を使用したときと、コマンド ラインでコマンドを実行したときに発生する不可解な異なる結果の分析を提供します。実際のアプリケーションでは、コマンド ラインでは正常に実行できるコマンドが、os/exec 関数を使用すると同じ結果が得られないという状況に遭遇することがあります。この状況では、多くの場合、私たちは混乱し、解決策を見つけるのが難しくなります。この記事では、その理由を分析し、os/exec 機能をよりよく理解し、適用するのに役立つ解決策を提供します。
パッケージ os/exec
を使用して golang でコマンドを実行するプログラムを書きました。
プログラムを実行すると、次のように出力されます: err: 終了ステータス 1
しかし、Windowsのコマンドラインでコマンドtaskkill /f /im vintgui.exe
を実行すると。出来た。
os/exec パッケージを介してコマンドを実行すると、
windows コマンド ライン (同じユーザーと同じ権限を使用して) コマンドを直接実行する場合と結果が異なるのはなぜですか?プログラムを修正するにはどうすればよいですか?
command オブジェクトの
stderr プロパティを使用することです。これは次のように行うことができます:
リーリー
リーリー ###に### リーリー
すべてのパラメータを 1 つの文字列に結合しないでください。以上がos/exec を使用した場合とコマンドラインから実行した場合では不可解な結果が異なるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。