Linux的CPU使用情况

我正在unix上工作。 我想知道一个进程当前的CPU使用情况。 我知道ps给出的CPU使用的平均值,直到进程结束 – 这不是目前的使用情况。

有没有一种方法来打印只有从顶部的命令没有10多个参数和标题的CPU? 我知道怎么用awk来做 – 这不是我想要做的。

top -p 20705 -bc -n 1 | tail -n 2 | awk '{ print $9}' | head -n 1 

如果有另一个简单的方法来做到这一点,不读/ proc / stat …

如果从c ++中有一个简单的方法,那也是可以的。

最有可能的是,你将需要阅读/proc/stat ,但是, 这是一个有趣的文章与C代码 ,可以帮助你。 为了理解和使用程序的输出结果,你应该执行man 5 proc 。 这里是源代码 。

底线是,你将需要从/proc/stat读取做你想要的。

查看pid为24556的进程的CPU使用情况

 ps -p 24556 -o \%cpu= 

查看名为syslogd的进程的mem使用情况

 ps -C syslogd -o \%mem=