2013-06-18 24 views
0

this post一样,我使用libproc来获取所有正在运行的进程的列表。与htop的treeview相比,我错过了获取父进程的所有子进程的能力。有没有办法或功能让他们?使用libproc获取子进程

回答

0

您可以从/proc/<child-pid>/stat提供的孩子的信息中提取父母亲的pid。

据我所知/proc不提供此信息的其他方式。


为了让树刚刚读入所有pid的parent-pid属性,然后自己建立反向索引。

+0

其中一个主要问题是'/ proc'(和'libproc'也)根本没有列出子pid。所以我只得到父母的pid,而不是孩子的pid。 – arbyter

+0

@arbyter:是的,但知道谁是一个pid的父亲pid会让你知道这个pid是它所携带的孩子,因为它是父母。所以你有能力建立你自己的树,** **之后,你读出了所有* pid的父亲pid。 – alk

0

/proc/<pid>/task我找到了我搜索过的东西。所有儿童进程都在那里列出。不幸的是,我必须编写自己的代码才能将信息从结构中获取,但应该可以管理:)。