Unix/Linux获取进程的详细信息
Linux的进程的信息都记录在/proc/<pid>/下面,其实常用的ps、top命令也是从这里读取信息的。常用的信息有:
cmd(命令)、cmdline(完整的命令行参数)、envrion(环境变量)、status(详细状态)
一些内容,例如cmdline、envrion中的各部分不使用换行,而是用null分隔,所以需要借助tr命令进行一下转换:
cat /proc/20938/cmdline | tr "\000" "\n"
Solaris下面的/proc没有记录这些信息,但它提供了p开头的一系列命令来获取和修改这些信息,常用的有:
pcred(用户、组id)、pldd(依赖的库)、pfiles(打开的文件)、pargs(参数)、pwdx(当前目录)等等