1
我目前正在研究跟踪linux中某个进程的层次结构的内存使用情况的程序。虽然很容易找到父母身份,但很难找到那个特定过程的孩子。有没有什么办法可以找到一个进程的所有孩子和他们的孩子等等,而不使用shell脚本?遍历C中进程的进程层次结构
我目前正在研究跟踪linux中某个进程的层次结构的内存使用情况的程序。虽然很容易找到父母身份,但很难找到那个特定过程的孩子。有没有什么办法可以找到一个进程的所有孩子和他们的孩子等等,而不使用shell脚本?遍历C中进程的进程层次结构
流程层次是另一种方式 - 儿童跟踪他们的父母。 你必须通过整个/proc
检查每个过程的父母。这是所有这些工具实现:
另外,如果你可以监控从自身做起,例如进程像strace
那样,那么你可以跟踪所有的系统调用fork
/clone
并记录返回的子pid。
我不知道* C *的方式来做到这一点。您必须处理'ps'命令的输出,或者浏览'/ proc'文件夹以获取所有活动进程的列表以及它们的id和父id,然后从那里重建树。并注意竞赛状况,例如在该操作过程中开始或结束... –