0

我在 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+ 字段分配给变量,这样我就可以将时间相加并自行打印出来。

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

谢谢,

4

2 回答 2

1

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

于 2013-02-23T16:45:55.613 回答
0

因为这是一个任务,我不想破坏所有的乐趣:D。我将向您指出一些可以帮助您努力的命令sedawkcut. 有了这 3 个,您可以通过多种方式解决它,尽情享受吧!

于 2013-02-23T16:43:49.923 回答