問題タブ [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.

0 投票する
5 に答える
1165 参照

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 コード スニペットは次のとおりです。

事前に助けに感謝します。

ありがとう、マシュー・リジュ

0 投票する
4 に答える
9165 参照

bash - bash の stderr リダイレクトにテキストを追加する

現在、execを使用してstderrをエラーログにリダイレクトしています

唯一の欠点は、exec がテキストをログ ファイルに直接プッシュするだけなので、各実行をタイムスタンプで開始する必要があることです。stderr をリダイレクトする方法はありますが、タイムスタンプなどのテキストを追加できますか?

0 投票する
2 に答える
9408 参照

bash - bash スクリプトでの stderr の一時的なリダイレクト

別のプログラムを開始するために使用される簡単なスクリプトがあります。この他のプログラムはSIGSEGV、私の出力を混乱させる を生成することがあります。したがって、が無視さstderrれる/dev/nullように を一時的にリダイレクトすることになっている行をいくつか追加しました。SIGSEGV以下は私のコードのドラフトです:

問題は、最後の行が私が望むことをしないことです。最初の行は明らかに機能し、stderr. 最後の行は、元の場所に戻すことstderrになっています (これは、 と同じだと思っただけですstdout)。

どんな助けでも感謝します!

0 投票する
2 に答える
37561 参照

windows - Windows/DOS で stderr をキャプチャする方法は?

画面ではなく、スクリプトからのエラーをファイルにキャプチャしたいと考えています。

*nix では、これは通常 stderr リダイレクトで行われます。

Windows で CMD スクリプトを使用するにはどうすればよいですか?

0 投票する
4 に答える
24483 参照

logging - stdout および stderr からバッファリングせずに make 出力をログに記録する方法

自動ビルドからの出力へのロギングに問題があります。

ビルドは Makefile と makefile ユーティリティを使用して行われます。

問題は、コンパイラ コマンド ラインのような通常の出力が stdout に送られ、コンパイル エラーが stderr に送られることです。

画面に表示されるように、ビルドから出力を取得したいと考えています。次のようなものです:

私が(kshスクリプトから)試したのは次のとおりです。

make -k > build.log 2> build.log

これにより単一のログ ファイルが作成されますが、ストリームがバッファリングされるため、ログ ファイルの結果がすべて混同されるという問題があります。

出力を 2 つの別々のログ ファイルにキャプチャすることはできましたが、それらを 1 つのログ ファイルにまとめる方法についての情報はありませんでした。

この場合、stdout と stderr のバッファリングをオフにする方法はありますか?

0 投票する
4 に答える
1659 参照

stdout - ABAP 標準出力および標準エラー出力

ABAP は stdout と stderr への書き込みを許可しますか? ジョブ スケジューラ (クロナクル) を介して SAP システムへのインターフェイス接続をテストする小さなプログラムを作成する必要があります。たとえば、「He​​llo World!」と開始/書き込みます。+ 日付 + stdout/exit までの時間。私はこの一見些細なプログラムを担当する .net プログラマーですが、行き詰まっています。

0 投票する
15 に答える
805256 参照

bash - Bash で stderr と stdout をリダイレクトする

プロセスの標準出力標準エラーの両方を 1 つのファイルにリダイレクトしたいと考えています。Bashでそれを行うにはどうすればよいですか?

0 投票する
6 に答える
6249 参照

java - Java stderr はどこに行くのですか?

知りたいのですが、Java stderrは標準でどこに行きますか?

「「標準」エラー出力ストリームを再割り当てする System.setErr を使用して stderr を変更できることは知っていますが、どれが「標準」であるかはわかりません。

私の質問をもっと具体的にしたいと思います:Java(jni)で使用するC++ライブラリがあります。問題は、私の C++ ライブラリからの stderr への出力が見えないように見えることです。C++ ライブラリで assert () を呼び出し、ライブラリを使用する Java API を実行すると、コンソールに出力が表示されません。

0 投票する
5 に答える
1545 参照

shell - エラーとしての警告をエミュレートするシェルスクリプト?

一部のコンパイラでは、警告をエラーとして設定できます。これにより、コンパイラの警告を残さないようにすることができます。これを行うと、コードがビルドされないためです。これは良いことです。

残念ながら、一部のコンパイラにはwarnings-as-errors のフラグがありません。

この機能を提供するシェル スクリプトまたはラッパーを作成する必要があります。

おそらく、コンパイル コンソールの出力を解析し、コンパイラの警告 (またはエラー) があった場合は失敗を返し、それ以外の場合は成功を返します。「失敗」とは、オブジェクト コードを生成してはならない (と私は思う) ことも意味します。

上記の明示的な要件と、それ以外の場合はコンパイラと同じように動作するという次の暗黙の要件を満たす、記述できる最も短くて単純な UNIX/Linux シェル スクリプトは何ですか: - すべてのフラグ、オプション、引数を受け入れます - stdout と stderr のリダイレクトをサポートします- 指示どおりにオブジェクト コードとリンクを作成する

キーワード: エレガントで、すべての要件を満たしています。

おまけ: GNU make ファイルに簡単に組み込むことができます。

ご協力いただきありがとうございます。

=== 手がかり === 別の問題に対するこの解決策は、シェル関数 (?) を使用して bash の stderr リダイレクトにテキストを追加することで解決される可能性があります。私の質問?

===回答状況===

簡潔な回答をしてくれたCharlie Martinに感謝しますが、残念ながら、それは私が始めたものです。しばらく前にそれを使用し、オフィスで使用するためにリリースしましたが、数時間以内に最も重大な欠点が指摘されました。警告なしでコンパイルに合格しますが、エラーのみです。コンパイラが動作しないことが確実なオブジェクト コードを提供することになるため、これは非常に悪いことです。単純なソリューションは、リストされている他の要件も満たしていません。

Adam Rosenfieldの略記と、pipefailをソリューションに導入してくれたChris Doddに感謝します。Chris の答えは最も近いように見えます。パイプフェイルは、コンパイルが実際にエラーで失敗した場合に、必要に応じて失敗することを保証する必要があると思うからです。クリス、pipefail はすべてのシェルで機能しますか? 上記の暗黙の要件の残りについて何か考えはありますか?

0 投票する
8 に答える
859603 参照

bash - 標準出力と標準エラーの両方を Bash でファイルにリダイレクトして追加する方法

標準出力を Bash の切り捨てられたファイルにリダイレクトするには、次を使用することを知っています。

Bashで標準出力をリダイレクトしてファイルに追加するには、次を使用することを知っています。

標準出力と標準エラーの両方を切り詰められたファイルにリダイレクトするには、次を使用することを知っています。

ファイルに追加する標準出力と標準エラーの両方をリダイレクトするにはどうすればよいですか? cmd &>> file.txt私にはうまくいきませんでした。