Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C语言中获取子进程的CPU(用户和系统)和实时使用率_C_Linux_Time_Exec_Cpu Usage - Fatal编程技术网

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

在C语言中获取子进程的CPU(用户和系统)和实时使用率,c,linux,time,exec,cpu-usage,C,Linux,Time,Exec,Cpu Usage,因此,我有一个操作系统类的作业和它要添加的增值选项之一,当列出我运行的命令的进程ID和名称、CPU时间和相同命令的实际使用时间时。问题是,我只能在它们完成后,使用times()函数获取它们,并且信息应该在它们运行时出现。有没有办法做到这一点 我通过分叉父进程来启动命令,然后在子进程上运行execlp(“xterm”、“xterm”、“-hold”、“-e”、command,NULL)。如您所见,-hold防止窗口立即关闭,这一方面使我能够看到日期命令的输出,例如,但另一方面使xterm挂起,直到

因此,我有一个操作系统类的作业和它要添加的增值选项之一,当列出我运行的命令的进程ID和名称、CPU时间和相同命令的实际使用时间时。问题是,我只能在它们完成后,使用times()函数获取它们,并且信息应该在它们运行时出现。有没有办法做到这一点

我通过分叉父进程来启动命令,然后在子进程上运行
execlp(“xterm”、“xterm”、“-hold”、“-e”、command,NULL)
。如您所见,-hold防止窗口立即关闭,这一方面使我能够看到日期命令的输出,例如,但另一方面使xterm挂起,直到我使用kill()或直接在xterm窗口上关闭它

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


注意:操作系统是Linux(我使用的是Ubuntu11.04,但代码应该可以在所有发行版上运行)。

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

有关详细信息,请参阅


还可以查看
ps-o格式,它允许您选择
ps
应该显示的字段。再次,请参阅以了解详细信息。

但是每次我要显示输入时是否必须读取整个文件?这不是有点太麻烦了吗?