电脑技术学习

Solaris内核proc目录简介

dn001

  struct proc结构定义在/usr/include/sys/proc.h文件中。

  /proc//ctl -- 一个进程控制文件。可以只写打开该文件,然后给相应进程发送控制信息。可以停止、启动进程,设置进程停止于某一特殊事件。这演示了procfs的强大和便捷。进程控制、事件跟踪可以通过打开相应进程的控制文件完成,只需要写入期待行为的控制信息。参看proc(4)手册了解控制信息和控制函数的详细介绍。

  /proc//status -- 进程状态信息。对应/usr/include/sys/procfs.h文件里定义的struct pstatus结构。proc(4)手册页里也有描述。这个结构中有一个成员

  lWPStatus_t pr_lwp; /* status of the representative lwp */

  该成员对应一个有代表性的LWP(轻量级进程)。单线程进程只有一个LWP,很容易选定这个有代表性的LWP。那些多线程进程通常有多个LWPs,一个内核函数遍历当前进程的所有LWPs,根据他们的状态选取这个有代表性的LWP。首先选取正在执行中的LWP,如果不存在这样的LWP,按照可运行、休眠、停止的顺序选取LWP。

  /proc//lstatus -- lwpstatus结构数组,进程中每个LWP对应一个lwpstatus结构。struct lwpstatus结构定义在/usr/include/sys/procfs.h文件中。

  /proc//psinfo -- 类似ps(1)命令提供的进程信息。对应struct psinfo结构,类似struct pstatus结构,struct psinfo结构中有一个成员

  lwpsinfo_t pr_lwp; /* information for representative lwp */

  该成员的对应一个有代表性的LWP。

  /proc//lpsinfo -- lwpsinfo结构数组,进程中每个LWP对应一个lwpsinfo结构

  /proc//map -- 地址空间映射信息,可以用pmap(1)命令显示这些数据信息。

  /proc//rmap -- 进程中保留地址空间段。用pmap -r命令显示这些数据信息。

标签: