我正在 Linux 机器上用 C 编写程序,我需要获取有关子进程的信息。我正在尝试使用 getrusage()
,但似乎无法获得任何有值(value)的信息。在给定子进程 ID 的情况下,有什么方法可以从父进程获取子进程的使用统计信息(以及任何其他信息)?
最佳答案
请注意 getrusage()
的 POSIX 定义清楚地表明您只能获取已终止的子进程的信息,而不能获取仍在运行的子进程的信息。还有一个警告,您必须注意垂死的 child ;如果您忽略 SIGCHLD 信号,您将不会从 getrusage()
为它们获取数据。
如果您需要有关仍在运行的进程的信息,您需要在 /proc
文件系统周围寻找相关子进程的信息;可能没有其他方法可以做到这一点。
关于c - 在 C 中获取有关子进程的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28471405/