在C中获取子进程的CPU(用户和系统)和实际使用时间

时间:2012-04-13 18:59:52

标签: c linux time exec cpu-usage

因此,当列出我运行的命令的进程ID和名称,CPU时间以及相同命令的实际使用时间时,我的OS类和其中一个增加的值选项都有一个工作。事情是,我只能在完成后使用times()函数获取它们,并且信息应该在时出现。有没有办法做到这一点?

我通过分支父进程然后在子进程上运行execlp("xterm","xterm","-hold", "-e", command, NULL)来启动命令。正如你所看到的,-hold阻止窗口立即关闭,一方面,它让我看到日期命令的输出,但另一方面使xterm挂起,直到我关闭它kill()或直接在xterm窗口上。

感谢所有帮助。谢谢。 :)

注意:操作系统是Linux(我使用的是Ubuntu 11.04,但代码应适用于所有发行版)。

1 个答案:

答案 0 :(得分:1)

您可以从/proc/pid/stat阅读此信息,其中 pid 是您感兴趣的进程ID。

有关详细信息,请参阅proc man pages

还可以查看ps -o format,它允许您选择ps应显示的字段。再次,请参阅man pages了解详情。