/proc/pid
/proc/pid
是进程的相关信息目录。通过 ls
命令可以查看目录下具体文件,通过 cat
命令可以查看文件具体信息。
在终端中输入 ps
命令可以查看当前进程信息,其中 PID 为 0 的进程为系统内核进程。对于系统中每个进程,内核都提供了相应的目录,命名为 /proc/pid
,其中 pid 为进程 ID。在此目录中的各个文件或子目录包含了进程的相关信息。
/proc/pid
目录示例内容:
[root@sylixos:/root]# ps
NAME FATHER PID GRP MEMORY UID GID USER
----------------- ----------------- ----- ----- ---------- ----- ----- ------
kernel <orphan> 0 0 0 0 0 root
app_proc <orphan> 1 1 53248 0 0 root
total vprocess : 2
[root@sylixos:/root]# cd /proc/
[root@sylixos:/proc]# ls
1 ksymbol posix net power fs version kernel cpuinfo bspmem self yaffs
[root@sylixos:/proc]# cd 1
[root@sylixos:/proc/1]# ls
ioenv filedesc modules mem cmdline exe
其中 /proc/pid
目录下文件说明
文件 | 描述(进程属性) |
---|---|
ioenv | 进程I/O环境文件 |
filedesc | 文件描述符信息文件 |
modules | 动态链接库情况文件 |
mem | 内存信息文件 |
cmdline | 命令行文件,以\0 分隔命令行文件 |
exe | 可执行文件的符号链接 |
/proc/pid
目录下文件示例内容:
[root@sylixos:/root]# cd /proc/pid/1
[root@sylixos:/proc/pid/1]# cat ioenv
umask:0
wd:/
[root@sylixos:/proc/pid]# cat filedesc
FD NAME
0 /dev/pty/7.hst
1 /dev/pty/7.hst
2 /dev/pty/7.hst
[root@sylixos:/proc/pid]# cat modules
NAME HANDLE TYPE GLB BASE SIZE SYMCNT
app_proc 30c5f170 USER YES c0008000 8428 2
libvpmpdm.so 30c5f5a8 USER YES c0018000 d384 70
<VP Ver:1.5.1 dl-malloc>
[root@sylixos:/proc/pid]# cat mem
static memory : 49152
heap memory : 4096
total memory : 53248
[root@sylixos:/proc/pid]# cat cmdline
[root@sylixos:/root]# /apps/app_proc/app_proc
[root@sylixos:/apps/app_proc/app_proc]# ll
-r--r----- root root Mon Jul 27 14:37:11 2015 0 B, ioenv
-r--r----- root root Mon Jul 27 14:37:11 2015 0 B, filedesc
-r--r----- root root Mon Jul 27 14:37:11 2015 0 B, modules
-r--r----- root root Mon Jul 27 14:37:11 2015 0 B, mem
-r--r----- root root Mon Jul 27 14:37:11 2015 0 B, cmdline
lr--r----- root root Mon Jul 27 14:37:11 2015 exe/ -> /apps/app_proc/app_proc
total items : 6