C 查找用户';ubuntu linux中的资源利用率

C 查找用户';ubuntu linux中的资源利用率,c,linux,statistics,C,Linux,Statistics,我想知道,在不使用任何用户命令工具的情况下,如何使用c程序找到关于资源利用率(如CPU、内存)的用户进程统计信息。目前我正在运行ubuntu 10.10。 谢谢现在的标准方法是解析/proc虚拟文件系统procfs中的信息。它包含系统几乎所有方面的文本信息,包括每个进程的详细统计信息。该信息是结构化的,旨在便于解析和编程访问。(这就是ps等工具的工作原理。) 例如,要查询给定进程的I/O度量,您可以读取/proc//io下的文件。它包含一系列name:value对,如下所示: rchar: 14

我想知道,在不使用任何用户命令工具的情况下,如何使用c程序找到关于资源利用率(如CPU、内存)的用户进程统计信息。目前我正在运行ubuntu 10.10。
谢谢

现在的标准方法是解析
/proc
虚拟文件系统
procfs
中的信息。它包含系统几乎所有方面的文本信息,包括每个进程的详细统计信息。该信息是结构化的,旨在便于解析和编程访问。(这就是
ps
等工具的工作原理。)

例如,要查询给定进程的I/O度量,您可以读取
/proc//io
下的文件。它包含一系列
name:value
对,如下所示:

rchar: 14823550
wchar: 138670414
syscr: 11549
syscw: 3013
read_bytes: 483328
write_bytes: 8192
cancelled_write_bytes: 0
有关详细信息,请参阅:

  • -内核参考文档

并且可能对您有所帮助。@mdec它们是特定于流程的,而我需要它用于特定于用户的。我认为,我必须迭代所有进程,并通过进程的UID计算用户的统计信息。但是,如果有任何更有效的方法,那么它将受到高度赞赏。