2015-02-12 43 views
0

我正在用C寫一個程序在linux機器上,我需要獲取有關子進程的信息。我試圖使用getrusage(),但似乎無法獲得任何有價值的信息。是否有任何方法可以從給定孩子進程ID的父進程獲取子進程的使用情況統計信息(以及其他信息)?獲取有關子進程的信息C

回答

1

請注意,POSIX定義getrusage()清楚地表明您只能獲取已終止的子進程的信息,而不能用於仍在運行的子進程。還有一個警告,你必須關注垂死的孩子;如果你忽略了SIGCHLD信號,你不會從getrusage()那裏得到他們的數據。

如果您需要有關正在運行的進程的信息,則需要在/proc文件系統中尋找相關子項的信息;可能沒有其他辦法可以做到這一點。

0

您可以使用IPC在您的進程之間進行通信。否則,如果您只需要孩子終止後的信息,則可以使用waitpid()呼叫。