电脑技术学习

Solaris内核proc目录简介

dn001

  /proc//xmap -- 扩展地址空间映射信息。用pmap -x命令显示这些数据信息。

  /proc//cred -- 进程身份验证信息,对应/usr/include/sys/procfs.h文件中

  定义的struct prcred结构。

  /proc//sigact -- sigaction结构数组,描述和本进程相关的所有信号设置。

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

  /proc//auxv -- auxv_t结构数组,包含进程执行时传递给动态链接器的初始值。

  auxv_t结构定义在/usr/include/sys/auxv.h文件中。

  /proc//ldt -- 局部描述符表(LDT),仅存于Intel x86架构。

  /proc//usage -- 进程资源利用率的相关数据,对应struct prusage结构,该

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

  /proc//lusage -- prusage结构数组,对应各个LWP资源利用状况。

  /proc//pagedata -- 进程地址空间的另外一种表现方式,可以用于跟踪页面级

  的引用和修改。参看struct prpageheader结构定义。

  /proc//watch -- prwatch结构数组。通过写控制文件/proc//ctl可以设置PCWATCH操作,此时建立该文件。允许监视一个或多个地址空间范围,当访问这些被监视页面时,产生一次陷入。

  scz注:这个功能和SoftIce的BPR功能类似,adb支持这种陷入,不知是否利用了procfs

  /proc//cwd -- 到进程当前工作目录的符号链接

  /proc//root -- 到进程根目录的符号链接(和上面那个什么区别)

  /proc//fd -- 这是一个子目录,包含进程打开的文件句柄

  /proc//fd/nn -- 对应进程打开的某个确定的文件句柄

  /proc//object -- 这是一个子目录,包含进程相关的可执行文件以及动态链接库。

  /proc//object/nn -- 二进制目标文件。进程对应的可执行文件名为a.out,其余是进程相关的动态链接库文件。

  object目录提供的信息是进程级的,每个/proc//目录有一个lwp子目录,提供了LWP级的信息:

  /proc//lwp -- 这是一个子目录,包含进程中所有LWPS的信息

  /proc//lwp/ -- 这是一个子目录,包含对应lwpid的LWP信息

  /proc//lwp//lwpctl -- 一个控制文件,通过它可以在LWP级上针对每个LWP发布控制操作

  /proc//lwp//lwpstatus -- LWP状态信息,对应lwpstatus结构,该结构定义在/usr/include/sys/procfs.h文件中

  /proc//lwp//lwpsinfo -- 对应lwpsinfo结构,同样定义在/usr/include/sys/procfs.h文件中

  /proc//lwp//lwpusage -- LWP资源利用信息,对应prusage结构

  /proc//lwp//xregs -- 这个文件是处理器架构相关的,某些平台上可能没有这个文件。对于SPARC系统,这个文对/usr/include/sys/procfs_isa.h文件中定义的prxregset结构。

  /proc//lwp//gWindows -- 常规寄存器窗口。这个文件仅存于SPARC架构的系统,描述LWP使用的常规寄存器组(硬件上下文的一部分),对应gwindows结构,该结构定义在/usr/include/sys/regset.h文件中。

  /proc//lwp//asrs -- 辅助寄存器组,仅存于SPARC V9(UltraSPARC)架构,专为SPARC V9架构定义的一组额外的硬件寄存器,要求sun4u、64-bit内核(Solaris 7及其后续版本)、64-bit进程。注意,64-bit内核可以运行32-bit进程,但是32-bit进程没有这样一个文件与之对应。

标签: