我正在研究unix。 我想知道一个进程当前的cpu使用情况。 我明白ps给出了cpu的平均值,直到进程结束 - 这不是当前的用法。
有没有办法只从top命令打印cpu而没有10多个参数和 头?我知道如何使用awk - 这不是我想要的方式。
top -p 20705 -bc -n 1 | tail -n 2 | awk '{ print $9}' | head -n 1
如果还有另一种简单的方法,那就不要阅读/ proc / stat ...
如果从c ++有一个简单的方法,它也可以。
答案 0 :(得分:4)
最有可能的是,您需要阅读/proc/stat
,但here is an interesting article with C code可能会帮助您解决问题。要理解和使用程序的输出,您应该man 5 proc
。这是source code。
最重要的是,你需要阅读/proc/stat
来做你想做的事。
答案 1 :(得分:0)
查看pid为24556的进程的cpu使用情况
ps -p 24556 -o \%cpu=
查看名为syslogd
的进程的mem用法ps -C syslogd -o \%mem=