問題タブ [stderr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 外部 JAR から送信された stderr のキャッチと変更
外部 JAR ファイルから使用されている STDERR ストリームをインターセプトする方法はありますか?
私の状況では、XYZ に STDERR を使用する独自のプログラムと、ABC に STDERR を使用する外部 JAR があります。両方をマージしてエンドユーザー向けに正しくフォーマットしたいのですが、JAR の STDERR をキャッチまたはリダイレクトする方法 (正しい用語は何ですか?) がわかりません。
ありがとう、
exec - tcl exec は最初に stdout を読み取り、次に stderr を読み取りますか?
tcl exec コマンドが最初に stdout から文字列を返し、次に stderr を返すことがわかりました。たとえば、次の「テスト スクリプト」は、次の順序でメッセージを生成します。
次に、次のようにスクリプトを実行します。
$msg から得られるものは次のとおりです。
これにより、正しい結果を得ることが本当に難しくなっています。
stdout と stderr の両方からメッセージを順番に取得できるかどうかを誰かに教えてもらえますか?
1) このようにリダイレクトしないでください。実際にすべてを順番に取得できます。
2) Tcl スクリプトでそのTcl スクリプトを呼び出す必要があります。申し訳ありません。
3) .tcl テスト スクリプトを直接ソースすることもできません。これは、2 つの間で呼び出される他のスクリプトがあり、私の tcl スクリプトがそのtcl スクリプトをソースするだけでは機能しないためです。
私はtclsh 8.3を使用しています
これがあまりにも多くを求めているかどうかはわかりません。誰かがこれを理解してくれることを願っています。ありがとう。
bash - bash変数はstderrとstdoutを別々にキャプチャするか、終了値を取得します
コマンドの出力とエラーを bash スクリプトで取得し、コマンドが成功したかどうかを知る必要があります。
現時点では、次のように両方をキャプチャしています。
次に、mycommand の終了値を確認する必要があります。失敗した場合は、出力に対して何かを行う必要があります。コマンドが成功した場合は、出力に手を加える必要はありません。
出力をキャプチャしているので、$? をチェックします。bash が変数への出力のキャプチャに成功したため、常に 0 です。
これは非常に時間に敏感なスクリプトであるため、ファイルへの出力と再読み込みなどの遅い解決策を回避しようとしています。
stdout をある変数にキャプチャし、stderr を別の変数にキャプチャできれば、エラー変数が空かどうかを確認するだけで問題が解決します。
ありがとう。
jetty - jetty から stderr への不思議なコンソール出力?
埋め込まれた jetty Web アプリ ランチャーを実行すると、stderr に次の出力が表示されます。ビルドをmaven-2に移動した後、これを見始めました。誰もこれを見たことがありますか?
一見ランダムな時間に時々繰り返されます。
c++ - googletestでstdout/stderrをキャプチャする方法は?
googletestフレームワークを使用しているときにstdoutとstderrをキャプチャすることは可能ですか?
たとえば、コンソール(stderr)にエラーを書き込む関数を呼び出したいと思います。ここで、テストで関数を呼び出すときに、出力が表示されないことを表明したいと思います。
または、エラーの動作をテストし、(意図的に)エラーを生成したときに特定の文字列が出力されることを表明したい場合があります。
linux - PHP の proc_open()、proc_close() などに相当する Perl は何ですか?
PHP の を使用して、プロセスを開始し、プロセスの実行中に一度に(個別に) 任意のバイト数をproc_open()
読み取り、STDOUT
およびパイプを使用してプロセスが完了したことを検出し、を使用して終了コードを取得できます。プロセスの。私はこれをすべてPHPで行いました。それはうまく機能し、私に多くの制御を与えてくれます。STDERR
fread()
feof()
STDOUT
STDERR
proc_close()
これらすべてを Perl で行う方法はありますか? 要約すると、次のことができる必要があります。
- 外部プロセスを開始する
- 別々に読ん
STDOUT
でSTDERR
STDOUT
プロセスの実行中に一度に任意のバイト数を読み取りSTDERR
ます (つまり、プロセスが終了するのを待つ必要はありません)。- プロセスがいつ終了したかを検出する
- プロセスの終了コードを取得する
ご回答ありがとうございます。
c++ - GUIアプリケーションの警告メッセージをstd::cerrに送信する必要がありますか?
UnixGUIアプリケーションの警告をstd::cerrまたはstd::coutに送信する必要がありますか?
これは、GUIが通常、警告とエラーをコンソールウィンドウに表示し、それらをログファイルに送信することを前提としています。しかし、コンソールが見つからないために使用できない場合は、そのようなメッセージにstd :: cerr、std :: cout、またはstd :: clogを使用する必要がありますか?
私はstd::cerrが彼らが属する場所だと思っています。
java - javaの新しいプロセス-ErrorStreamsおよびOutputストリームから取得および読み取るために必要です
ProcessBuilderを使用してJavaコードから新しいプロセスを作成します
この場合、私はエラー/出力を見ることには興味がありません。OutputStreamとErrorStreamを取得する必要がありますか?自動的に無視されますか?
出力が大きくなる場合があります(10MB)-場合によっては。
linux - bashは標準出力と標準エラー出力をリダイレクトして、ssh経由でコマンドを分離します
私は BASH 4 を使用しています。出力の種類を示すために出力の前に合法的に追加する方法を見つけようとしています。私はこのようなものでこれを行うことができます...
SSH経由でログインしてインタラクティブに実行すると、これがうまくいくようです。ただし、コマンドを引用符で囲んでssh経由でコマンドをリモートコマンドとして実行しようとすると、これが常に正しく機能するとは限りません。私はいつでも stdout 行を取得できますが、stderr 行を取得できないことがあります。
これにより、出力が生成されます...
これはエラーメッセージさえも生成しません...
ただし、これは wget status の結果を stderr の結果として表示します (これは正しいはずです)。
bash - ttyに書き込むプログラムをリダイレクトする方法は?
これはリダイレクトされていない出力です(何であるかわからない場合module
は、それほど重要ではありません)。
それをファイルにリダイレクトしたいとします。
まあ、それは上にある必要がありますstderr
おい!リダイレクトをリセットしています。これは本当に迷惑です、そして私は2つの質問があります:
- どうすれば私が望むものを達成できますか、つまりすべてをファイルにリダイレクトします
- なぜ彼らはそんな奇妙なことをしているのですか?
この関連する質問も参照してください。
編集:誰かがコメントで尋ねたので、いくつかの詳細。これは、AIX5.3の64ビットです。私はPython2.6.5をほぼ完全に利用できます。gcc4.1.1とgcc4.5.1の両方がありますが、それらをリンクするライブラリは多くありません(回答に記載されているスクリプトバージョンを含むutil-linux-ngライブラリは、getopt部分のコンパイルに失敗します)。また、IBMXLコンパイラーxlcのいくつかのバージョンがあります。私が最初に指定しなかった理由は、外部プログラムではなく、おそらくexecを使用して、いくつかのシェルトリックを期待していたためです。