使用bash中的顶级程序将cpu时间提取到变量中

时间:2013-02-23 16:37:33

标签: bash time cpu

我在bash脚本中有一个赋值,试图测量用于按名称传递给脚本的进程的cpu时间。我可以找到进程ID并将其传递给bash中的顶级程序。但是,我还没想出如何从顶层程序中提取cpu时间。例如:

顶部打印出来:

top - 00:57:07 up  6:06,  2 users,  load average: 0.46, 0.31, 0.55
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.7 us,  0.8 sy,  0.0 ni, 94.6 id,  0.9 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem:   1928720 total,  1738072 used,   190648 free,    57184 buffers
PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
3337 amarkovi  20   0  372m  31m  10m R   0.7  1.7  13:28.74 chromium-browse 

我想要的就是将TIME +字段分配给变量,这样我就可以将时间加起来并自行打印出来。

我是打击脚本的菜鸟,所以请耐心等待。

谢谢,

2 个答案:

答案 0 :(得分:1)

你必须使用top吗?它应该更简单(一旦你找到正确的选项)使用ps为你提供你想要的字段,然后使用grep来选择你想要的过程。

答案 1 :(得分:0)

因为这是一个分配,我不想破坏所有的乐趣:D。我只想指出一些可以帮助您努力的命令:sedawkcut。有了这3,你可以通过多种方式解决它,享受!