電子書籍の厳選無料作品が豊富!

今、あるプログラムを実行中に実行ログをリダイレクトで出力しています。
プログラムを実行したままで、そのログを初期化したいのですがうまくいきません

1.java aaa >> pglog.log[Enter]で、ログを出力
2.aaaのプログラムは実行中のまま、pglog.logを初期化
  cp /dev/null pglog.log[Enter]
 ※コレを実行後、1度ログはZEROバイトにはなる
3.aaaのプログラムの操作する(ログ出力のため)

すると、ファイルサイズが前回のログ+今回のログと
なってしまいます。
また、中身も前回ログは見た目にはないのですが、全て
スペースに置き換わった形であるようなのです。

ログが大きくなりすぎるのを防ぎたいのですが、
よい方法があれば教えてください!
よろしくお願いします。

A 回答 (3件)

リダイレクトだとうまくいきませんので、teeを使ってみてはいかがでしょう?(ちょっと小手先な感じですが)



$ java aaa | tee -a pglog.log > /dev/null
$ cp /dev/null pglog.log
    • good
    • 0
この回答へのお礼

うまくいきました!
ありがとうございました。

お礼日時:2005/03/14 15:21

#1です。



試してみましたが、確かにリダイレクトだとそうなりますね~。
プログラム内でログ出力させるようにすれば、意図した通りになりましたが、リダイレクトの利便性はなくなりますね。
    • good
    • 0

こんにちは。



java aaa > pglog.log[Enter]

ではだめなんでしょうか。

この回答への補足

java aaa > pglog.log[Enter]でも同じ現象が
発生してしまってるのです。。。

補足日時:2005/03/09 17:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!