转:http://hi.baidu.com/sei_zhouyu/item/3ab5bc9fb2ea29c3b6253140
/proc/pid/是进程目录,存放的是当前运行进程的信息。
譬如apache进程 ls -al /proc/23597:
-r——– 1 root root 0 2009-05-26 15:00 auxv
-r–r–r– 1 root root 0 2009-05-26 02:03 cmdline
-r–r–r– 1 root root 0 2009-05-26 15:00 cpuset
lrwxrwxrwx 1 root root 0 2009-05-26 15:00 cwd -> /
-r——– 1 root root 0 2009-05-26 15:00 environ
lrwxrwxrwx 1 root root 0 2009-05-26 11:15 exe -> /usr/local/apache2/bin/httpd
dr-x—— 2 root root 0 2009-05-11 10:15 fd
-rw——- 1 root root 0 2009-05-26 15:00 mapped_base
-r–r–r– 1 root root 0 2009-05-26 15:00 maps
-rw——- 1 root root 0 2009-05-26 15:00 mem
-r–r–r– 1 root root 0 2009-05-26 15:00 mounts
-rw-r–r– 1 root root 0 2009-05-26 15:00 oom_adj
-r–r–r– 1 root root 0 2009-05-26 15:00 oom_score
lrwxrwxrwx 1 root root 0 2009-05-26 15:00 root -> /
-rw——- 1 root root 0 2009-05-26 15:00 seccomp
-r–r–r– 1 root root 0 2009-05-26 15:00 smaps
-r–r–r– 1 root root 0 2009-05-26 02:03 stat
-r–r–r– 1 root root 0 2009-05-26 11:15 statm
-r–r–r– 1 root root 0 2009-05-26 03:00 status
dr-xr-xr-x 3 root root 0 2009-05-26 03:30 task
-r–r–r– 1 root root 0 2009-05-26 15:00 wchan
以上目录或文件,一个一个看:
auxv 二进制文件。auxv_t结构数组,包含进程执行时传递给动态链接器的初始值。
cmdline 进程启动的命令行参数。譬如一个带启动参数的进程,用cat cmdline命令:./getstats./stats.cfg。看起来是不是没有格式?NO!用vi cmdline查看内容是:./tiap_cstats^@./cstats.cfg^@。所以命令参数间是有间隔的,vi里看到的”^@”其实是字 符’