問題タブ [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 - Java プログラムが Perl の STDERR を読み取れないのはなぜですか?
Java プログラムから呼び出される XML を検証する Perl プログラムがあります。標準エラーに書き込めず、印刷場所にぶら下がっています。
Perl は STDERR に書き込み、Java プログラムは getErrorStream() 関数を使用して STDERR を読み取ります。しかし、Perl プログラムは STDERR に書き込むためにハングしています。Java 関数が STDERR ストリームを完全にブロックしており、Perl がこのストリームが解放されるのを待っていると思われます。
Perl でこの閉塞を克服し、強制的に標準エラーに書き込む方法はありますか? Java は読み取りのみを行っているため、API は Java doc に従って STDERR ストリームをロックするべきではありません。
Perl コード スニペットは次のとおりです。
Java コード スニペットは次のとおりです。
事前に助けに感謝します。
ありがとう、マシュー・リジュ
bash - bash の stderr リダイレクトにテキストを追加する
現在、execを使用してstderrをエラーログにリダイレクトしています
唯一の欠点は、exec がテキストをログ ファイルに直接プッシュするだけなので、各実行をタイムスタンプで開始する必要があることです。stderr をリダイレクトする方法はありますが、タイムスタンプなどのテキストを追加できますか?
bash - bash スクリプトでの stderr の一時的なリダイレクト
別のプログラムを開始するために使用される簡単なスクリプトがあります。この他のプログラムはSIGSEGV
、私の出力を混乱させる を生成することがあります。したがって、が無視さstderr
れる/dev/null
ように を一時的にリダイレクトすることになっている行をいくつか追加しました。SIGSEGV
以下は私のコードのドラフトです:
問題は、最後の行が私が望むことをしないことです。最初の行は明らかに機能し、stderr
. 最後の行は、元の場所に戻すことstderr
になっています (これは、 と同じだと思っただけですstdout
)。
どんな助けでも感謝します!
windows - Windows/DOS で stderr をキャプチャする方法は?
画面ではなく、スクリプトからのエラーをファイルにキャプチャしたいと考えています。
*nix では、これは通常 stderr リダイレクトで行われます。
Windows で CMD スクリプトを使用するにはどうすればよいですか?
logging - stdout および stderr からバッファリングせずに make 出力をログに記録する方法
自動ビルドからの出力へのロギングに問題があります。
ビルドは Makefile と makefile ユーティリティを使用して行われます。
問題は、コンパイラ コマンド ラインのような通常の出力が stdout に送られ、コンパイル エラーが stderr に送られることです。
画面に表示されるように、ビルドから出力を取得したいと考えています。次のようなものです:
私が(kshスクリプトから)試したのは次のとおりです。
make -k > build.log 2> build.log
これにより単一のログ ファイルが作成されますが、ストリームがバッファリングされるため、ログ ファイルの結果がすべて混同されるという問題があります。
出力を 2 つの別々のログ ファイルにキャプチャすることはできましたが、それらを 1 つのログ ファイルにまとめる方法についての情報はありませんでした。
この場合、stdout と stderr のバッファリングをオフにする方法はありますか?
stdout - ABAP 標準出力および標準エラー出力
ABAP は stdout と stderr への書き込みを許可しますか? ジョブ スケジューラ (クロナクル) を介して SAP システムへのインターフェイス接続をテストする小さなプログラムを作成する必要があります。たとえば、「Hello World!」と開始/書き込みます。+ 日付 + stdout/exit までの時間。私はこの一見些細なプログラムを担当する .net プログラマーですが、行き詰まっています。
java - Java stderr はどこに行くのですか?
知りたいのですが、Java stderrは標準でどこに行きますか?
「「標準」エラー出力ストリームを再割り当てする System.setErr を使用して stderr を変更できることは知っていますが、どれが「標準」であるかはわかりません。
私の質問をもっと具体的にしたいと思います:Java(jni)で使用するC++ライブラリがあります。問題は、私の C++ ライブラリからの stderr への出力が見えないように見えることです。C++ ライブラリで assert () を呼び出し、ライブラリを使用する Java API を実行すると、コンソールに出力が表示されません。
shell - エラーとしての警告をエミュレートするシェルスクリプト?
一部のコンパイラでは、警告をエラーとして設定できます。これにより、コンパイラの警告を残さないようにすることができます。これを行うと、コードがビルドされないためです。これは良いことです。
残念ながら、一部のコンパイラにはwarnings-as-errors のフラグがありません。
この機能を提供するシェル スクリプトまたはラッパーを作成する必要があります。
おそらく、コンパイル コンソールの出力を解析し、コンパイラの警告 (またはエラー) があった場合は失敗を返し、それ以外の場合は成功を返します。「失敗」とは、オブジェクト コードを生成してはならない (と私は思う) ことも意味します。
上記の明示的な要件と、それ以外の場合はコンパイラと同じように動作するという次の暗黙の要件を満たす、記述できる最も短くて単純な UNIX/Linux シェル スクリプトは何ですか: - すべてのフラグ、オプション、引数を受け入れます - stdout と stderr のリダイレクトをサポートします- 指示どおりにオブジェクト コードとリンクを作成する
キーワード: エレガントで、すべての要件を満たしています。
おまけ: GNU make ファイルに簡単に組み込むことができます。
ご協力いただきありがとうございます。
=== 手がかり === 別の問題に対するこの解決策は、シェル関数 (?) を使用して bash の stderr リダイレクトにテキストを追加することで解決される可能性があります。私の質問?
===回答状況===
簡潔な回答をしてくれたCharlie Martinに感謝しますが、残念ながら、それは私が始めたものです。しばらく前にそれを使用し、オフィスで使用するためにリリースしましたが、数時間以内に最も重大な欠点が指摘されました。警告なしでコンパイルに合格しますが、エラーのみです。コンパイラが動作しないことが確実なオブジェクト コードを提供することになるため、これは非常に悪いことです。単純なソリューションは、リストされている他の要件も満たしていません。
Adam Rosenfieldの略記と、pipefailをソリューションに導入してくれたChris Doddに感謝します。Chris の答えは最も近いように見えます。パイプフェイルは、コンパイルが実際にエラーで失敗した場合に、必要に応じて失敗することを保証する必要があると思うからです。クリス、pipefail はすべてのシェルで機能しますか? 上記の暗黙の要件の残りについて何か考えはありますか?
bash - 標準出力と標準エラーの両方を Bash でファイルにリダイレクトして追加する方法
標準出力を Bash の切り捨てられたファイルにリダイレクトするには、次を使用することを知っています。
Bashで標準出力をリダイレクトしてファイルに追加するには、次を使用することを知っています。
標準出力と標準エラーの両方を切り詰められたファイルにリダイレクトするには、次を使用することを知っています。
ファイルに追加する標準出力と標準エラーの両方をリダイレクトするにはどうすればよいですか? cmd &>> file.txt
私にはうまくいきませんでした。