stderr がそのコンテンツをどこにダンプするかを知りたかったのです。syslog にダンプするかどうかなどの質問があります。説明してください。
5 に答える
stderrのように、単なる別の出力ストリームですstdout。
どこに接続されるかは、アプリケーションの呼び出し方法によって異なります。
たとえば、実行すると、指定しfoo.exe 2> errors.txtたstderrファイルに書き込みます。
リダイレクトすることを決定するたびに、標準エラー出力がダンプされます。
アイコンなどをクリックして GUI 環境でプログラムを実行する場合は.xsession-errors、$HOME.
シェルからプログラムを実行し、stderr をリダイレクトしない場合は、端末に表示されるだけです (他の場所には保存されません)。
それは環境次第です。
デフォルトでは、stderr は通常、stdout と同じ場所、つまり現在の端末に接続されます。
そうしないと、面倒なエラーが表示されません。
これは、 stderr をシステムのロギング メカニズムにリダイレクトすることに関するブログ投稿です。
他の場所にリダイレクトstderrすることもできますが、通常はと同じ場所に出力されstdoutます。それをsyslogにするには、間違いなく少し作業する必要があります。このリンク:
bashを使用して、標準エラーを別のプロセスにパイプするにはどうすればよいですか?
は、stderrをパイプにパイプする方法を示しています。他のプロセスが「syslog」に書き込むプロセスである場合は、必要な処理を実行します。ただし、ほとんどの場合、syslog機能を独自のプログラムに追加する方がおそらく簡単です。
stderrストリームです。所有するプロセスによって管理され、出力されます。どこに「行く」かは、プロセスがどのように呼び出されるかによって定義されます。親プロセスは、それを収集してファイルに書き込んだり、無視したり、リダイレクトしたり/dev/null(本質的にビニング) したりできます。