四、理解proc文件系统
在Solaris的文件系统中,有一个/proc文件系统,一些巨大的文件放在那里,/proc文件系统不是普通意义上的文件系统,它是一个到运行中进程地址空间的访问接口。通过/proc,可以用标准Unix系统调用(比如open()、read()、write()、ioctl()等等)访问进程地址空间。事实上,Solaris ps(1)命令正是利用/proc获取进程状态。
Solaris下使用/proc的工具相当完善,位于/usr/proc/bin目录中。这些工具提供了一种访问任意指定进程临界数据的简捷办法。/proc的魅力正是在于它包含了你可能想知道的关于一个进程的任何信息。/proc 是一个目录,其中包含了反映内核和进程树的各种文件。这些文件和目录并不存在于磁盘中,因此当您对这些文件进行读取和写入时,实际上是在从操作系统本身获取相关信息。比如:
pldd -列出进程连接的动态库
pstack -调用栈
pfiles -打开的文件描述符列表
ptree -进程关系树
可以使用下面的命令查看端口列表
/usr/proc/bin/pfiles?*?>/tmp/pfiles.out
可以使用下面的命令查看进程列表