读书人

进程PCB操作有关问题

发布时间: 2012-09-09 09:27:54 作者: rapoo

进程PCB操作问题
初涉进程控制领域,求问:
第一,PCB中包含的众多信息,用什么函数能访问到?除了getpid()和getppid()能获取pid,能否再取得其他pcb内容?
第二,就是要解决的最终题目,根据当前进程的pid,获取此进程在系统上的所有父进程的pid。当然,这里不是说一个进程有很多父进程,而是说一个进程的唯一父进程还有唯一的父进程。这样一级级搜索直到init进程。

高手直接帖代码,菜菜动动脑筋也不错。

[解决办法]
(1)获取进程结构的详细信息应用层代码所能做的有限,内核层代码可以做到,但Linux内核的API不像应用层API那样有稳定的规范,比如进程结构在不同的内核版本中可能是不一样的。另外在Linux系统中,应用层程序通过读取/proc伪文件系统,大多数进程信息都能得到。
(2)我能想到的也是从/proc中获取。

读书人网 >C语言

热点推荐