strace
trough ccze
を実行しようとしていますが、パイプが期待どおりに動作しません。
テストのために実行しているコマンドラインはSudo strace -p $(pgrep Apache2) | grep open
であり、grepを無視してすべての行が出力されます。
この動作を引き起こすstrace
について何か特別なことはありますか?
strace
は、標準出力ではなく標準エラーにトレースを出力します。これは、プログラムの標準出力をリダイレクトすることが一般的であるためですが、通常、straceのstderrとプログラムのstderrが混在しているという問題はありません。
したがって、strace
のstderrをstdoutにリダイレクトして、パイプできるようにする必要があります。
Sudo strace -p $(pgrep Apache2) 2>&1 | grep open
あなたが本当に探しているのは
Sudo strace -p $(pgrep Apache2) -e open