strace 出力から数行抽出

strace 出力から数行抽出

straceを使って調べたいプロセスがありますが、多くの内容が印刷されるので、X秒ごとに数行だけサンプリングしたいと思います。 bashなどを使ってこれを行う方法はありますか?

たとえば、

strace -p 123456 | "print out most recent 80 lines every 2 seconds"

答え1

例:

strace -p $PID >$PID.log &
watch tail -n80 $PID.log >$PID-sample.log &
tail -f $PID-sample.log

または、watch tail -n$LINES $PID.logサンプルログを後ろにスクロールする必要がない場合にのみ可能です。

関連情報