どういうわけか、実行中の./program | tee /dev/null
がその出力を消費しているようです。独自に実行すると、プログラムは何らかのテキストを出力し、UDPソケットを介して通信しながら実行を続けます。私はフィルタリングされた方法で見たいと思っていた多くのログメッセージを生成するので、私は./program | grep -v "I dont wan't to see logs like this!" | tail -f
を実行しようとしましたが、出力は生成されませんでした。私はちょっとあきらめて、ちょうどtee
というファイルを別のファイルに出力することにしました。これをエディタで調べることはできましたが、空のファイルが作成されました。tee/dev/null入力を消費していますか?
問題のプログラムは生徒によって書かれているため、問題がその中にある可能性があります。何がこの現象を引き起こす可能性がありますか?どうすれば修正できますか?
概要:
./program
プリントoutput
が、./program | tee /dev/null
何も印刷されません。おそらく./program
のソース内に問題がありますが、それを正しく使用する方法はありますか?
おそらく、プログラムはstdoutがリダイレクトされているかどうかを検出しますか?あるいは、stdoutハンドルのファイル記述子を変更しようとしますか?あなたはプログラムのソースを持っていますか? –