在C中获取有关子进程的信息

时间:2015-02-12 07:10:59

标签: c linux multithreading

我在Linux机器上用C编写程序,我需要获取有关子进程的信息。我正在尝试使用getrusage(),但似乎无法获得任何有价值的信息。在给定子进程ID的情况下,有什么方法可以从父进程获取子进程的使用统计信息(和任何其他信息)吗?

2 个答案:

答案 0 :(得分:1)

请注意,getrusage()的POSIX定义清楚地表明您只能获取已终止的子进程的信息,而不是仍在运行的子进程。还有一个警告,你必须注意垂死的孩子;如果您忽略SIGCHLD信号,则无法从getrusage()获取数据。

如果您需要有关仍在运行的流程的信息,您需要在/proc文件系统周围了解相关子项的信息;可能没有其他方法可以做到。

答案 1 :(得分:0)

您可以使用IPC在流程之间进行通信。否则,如果您在孩子终止后只需要信息,则可以使用waitpid()电话。

相关问题