Linux 如何捕获某个进程的CPU使用情况以输出txt文件

Linux 如何捕获某个进程的CPU使用情况以输出txt文件,linux,file,terminal,Linux,File,Terminal,我试图捕获某个进程的CPU使用情况,该进程通过PID过滤到输出文件: top -b -n 1 -p {PID} | tail -n 2 | head -n 2 | awk '{print $1, $12, $9}' > out.txt 它总是给我0.0%的值 我还需要在进程的整个执行时间内每秒捕获一个值,直到我中断捕获为止,因为我不知道进程将处于活动状态多长时间。如果命令输出0.0,则该命令应该工作,这意味着该进程在运行该命令的那一刻确实没有显示CPU使用情况。但是,该命令可以简化为每秒

我试图捕获某个进程的CPU使用情况,该进程通过PID过滤到输出文件:

top -b -n 1 -p {PID} | tail -n 2 | head -n 2 | awk '{print $1, $12, $9}' > out.txt
它总是给我0.0%的值


我还需要在进程的整个执行时间内每秒捕获一个值,直到我中断捕获为止,因为我不知道进程将处于活动状态多长时间。

如果命令输出0.0,则该命令应该工作,这意味着该进程在运行该命令的那一刻确实没有显示CPU使用情况。但是,该命令可以简化为每秒钟打印一次
top-b-n1-p{PID}awk'NR==8{print$1,$12,$9}'
?您可以使用while循环<代码>而为true;dotop-b-n1-p{PID}awk'NR==8{print$1,$12,$9}';睡眠1;done>out.txt按CTRL-C停止它。@hek2mgl进程的cpu使用率一直存在,我在并行地观察它在循环中运行命令。当顶部的
x.x
并行运行时,它总是
0.0
吗?它正在工作。谢谢各位