STDERRの下に「セグメントエラー」メッセージがありますか?

STDERRの下に「セグメントエラー」メッセージがありますか?

実行ファイルを実行しました。bash

./code > log

すべてのprintfステートメントがログファイルに移動している間、端末には時々エラーメッセージが表示されます。以下のようにやり直してください。

./code >& log

これで、時々発生するエラーメッセージも記録されます。ただし、分割エラーがある場合は端末に表示されます。なぜ?メッセージをSegmentation fault (core dumped)ログファイルに入れるにはどうすればよいですか?


ユーザー $bash --version

GNU bash、バージョン 4.2.24(1)-リリース(i686-pc-linux-gnu)

ベストアンサー1

「セグメントエラー」メッセージはstderrに印刷されますが、これはプログラムの標準エラーではなく、シェルの標準エラーです。シェルは、プログラムが信号のために終了したことを検出すると、このメッセージを印刷します。

実行中のプログラムのシェルスクリプト部分の周りでstderrをリダイレクトすることで、このメッセージを無音に設定できます。

{ ./code; } >&log

おすすめ記事