プロセスのCPU使用率(topコマンド)+このトップコマンドが情報を取得した日付をファイルごとに0.5秒ごとに出力したい日付+このCPU情報を持つライン) 私はシェルスクリプトで記述する場合、私はシェルスクリプト:topコマンドとdateコマンドを同時に実行する
while [ ! -f $STOP_FILE ]
do
echo "$(date +%s.%N)" >> $REPORT_FILE
top -b -n 1 -p myProcessPID | grep myProcessName | awk -F " " '{print $12 "\t" $9}' >> result.txt
sleep 0.5
done
ような何かをするだろう。しかし、私は最初にあるため、CPUの情報を取得するには、トップで-n 1つのオプションを使用することはできません反復は"from system boot until now"なので、私は他の反復が必要です。
したがって、topコマンド+ナノ秒(date +%s。%N)の日付でプロセス情報を取得するためのコマンドの組み合わせを探しています(先頭のコマンドでも、ヘッダが、私はのような何かをしようとしています
、
echo $(date +%s.%N) $(top -d 0.5 -n 100 -p myProcessPID | grep myProcessName) >> results.txt
)ミリ秒をしたいが、日付は最初の反復を印刷しています。
アイデア?
申し訳私は疑問を持つ非常に正確ではないよ場合、私はこのスクリプトを使用して新しい午前ここに書いて...
一回の実行中に 'top'を実行して内部的に繰り返しを実行すると、もちろん' date'の実行も1回だけです。 –
具体的な理由がない限り、ホイールを再開発しないでください。 ['dstat'](http://dag.wiee.rs/home-made/dstat/)。 –
moreutilsの一部であるタイムスタンプ入力 'ts'ユーティリティはこれでうまくいくでしょう。 – Zlemini