我想在文件中打印一个进程的cpu使用百分比(top命令)+此top命令获取信息的日期,每0.5秒(每行带有日期+此cpu信息)如果我写一个shell脚本,我会做类似的事情
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
但是我不能使用顶部的 -n 1 选项来获取 cpu 信息,因为第一次迭代是“从系统启动到现在”,所以我需要其他迭代。
因此,我正在寻找一些命令组合,以使用 top 命令 + 纳秒日期 (date +%s.%N) 获取进程信息(top 命令也会在标题的第一行产生时间,但我想要毫秒)
我正在尝试类似的东西,
echo $(date +%s.%N) $(top -d 0.5 -n 100 -p myProcessPID | grep myProcessName) >> results.txt
但日期仅在第一次迭代时打印。
有任何想法吗?
对不起,如果我对这个问题不是很准确,我对这个脚本很陌生,在这里写..