1

stderr がそのコンテンツをどこにダンプするかを知りたかったのです。syslog にダンプするかどうかなどの質問があります。説明してください。

4

5 に答える 5

4

stderrのように、単なる別の出力ストリームですstdout

どこに接続されるかは、アプリケーションの呼び出し方法によって異なります。

たとえば、実行すると、指定しfoo.exe 2> errors.txtstderrファイルに書き込みます。

于 2013-01-30T13:49:15.133 に答える
1

リダイレクトすることを決定するたびに、標準エラー出力がダンプされます。

アイコンなどをクリックして GUI 環境でプログラムを実行する場合は.xsession-errors$HOME.

シェルからプログラムを実行し、stderr をリダイレクトしない場合は、端末に表示されるだけです (他の場所には保存されません)。

于 2013-01-30T13:50:23.257 に答える
1

それは環境次第です。

デフォルトでは、stderr は通常、stdout と同じ場所、つまり現在の端末に接続されます。

そうしないと、面倒なエラーが表示されません。

これは、 stderr をシステムのロギング メカニズムにリダイレクトすることに関するブログ投稿です。

于 2013-01-30T13:50:25.563 に答える
0

他の場所にリダイレクトstderrすることもできますが、通常はと同じ場所に出力されstdoutます。それをsyslogにするには、間違いなく少し作業する必要があります。このリンク: bashを使用して、標準エラーを別のプロセスにパイプするにはどうすればよいですか?

は、stderrをパイプにパイプする方法を示しています。他のプロセスが「syslog」に書き込むプロセスである場合は、必要な処理を実行します。ただし、ほとんどの場合、syslog機能を独自のプログラムに追加する方がおそらく簡単です。

于 2013-01-30T13:52:48.780 に答える
0

stderrストリームです。所有するプロセスによって管理され、出力されます。どこに「行く」かは、プロセスがどのように呼び出されるかによって定義されます。親プロセスは、それを収集してファイルに書き込んだり、無視したり、リダイレクトしたり/dev/null(本質的にビニング) したりできます。

于 2013-01-30T13:50:37.207 に答える