Linux proc filesystem (procfs)

/proc简介

/proc非常特殊,因为它也是一个虚拟文件系统。 它有时被称为进程信息伪文件系统。 它不包含“真实”文件,而是包含运行时系统信息(例如系统内存,安装的设备,硬件配置等)。 因此,它可以被视为内核的控制和信息中心。 实际上,相当多的系统实用程序只是调用此目录中的文件。 例如,'lsmod'与'cat /proc/modules相同,而'lspci'是'cat /proc/pci'相同。 通过更改位于此目录中的文件,您甚至可以在系统运行时读取/更改内核参数(sysctl)。 关于这个目录中文件最独特的事实是它们都有一个文件大小为0的事实,除了kcore,mtrr和self。 目录列表类似于以下内容:

[root@localhost ~]# ll /proc
total 0
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 1
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 10
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 1019
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 1021
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 1022
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 107
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 11
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 1176
dr-xr-xr-x.  9 postfix postfix               0 Nov 10 16:45 1182
dr-xr-xr-x.  9 postfix postfix               0 Nov 10 16:45 1184
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 12
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 1283
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 1287
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 13
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:49 1306
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:49 1307
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:49 1308
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 14
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 16
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 17
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 18
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 19
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 2
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 20
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 21
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 22
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 23
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 24
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 26
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 28
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 29
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 291
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 292
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 293
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 299
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 3
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 30
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 300
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 303
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 304
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 305
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 306
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 307
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 31
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 310
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 311
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 32
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 324
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 33
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 331
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 34
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 346
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 35
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 351
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 36
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 37
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 38
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 389
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 390
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 400
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 401
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 415
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 416
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 417
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 418
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 419
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 420
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 421
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 422
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 423
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 424
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 425
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 43
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 44
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 45
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 46
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 494
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 5
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 504
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 515
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 529
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 54
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 549
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 56
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 57
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 58
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 59
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 6
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 60
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 613
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 614
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 615
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 617
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 618
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 619
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 620
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 621
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 622
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 623
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 630
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 631
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 632
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 633
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 634
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 635
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 636
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 637
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 659
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 682
dr-xr-xr-x.  9 dbus    dbus                  0 Nov 10 16:43 685
dr-xr-xr-x.  9 polkitd polkitd               0 Nov 10 16:43 691
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 692
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 695
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 697
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 7
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 705
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 707
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 73
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 74
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 766
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 8
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:45 826
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 838
dr-xr-xr-x.  9 root    root                  0 Nov 10 16:43 9
dr-xr-xr-x.  2 root    root                  0 Nov 10 16:49 acpi
-r--r--r--.  1 root    root                  0 Nov 10 16:49 buddyinfo
dr-xr-xr-x.  4 root    root                  0 Nov 10 16:49 bus
-r--r--r--.  1 root    root                  0 Nov 10 16:49 cgroups
-r--r--r--.  1 root    root                  0 Nov 10 16:49 cmdline
-r--r--r--.  1 root    root                  0 Nov 10 16:49 consoles
-r--r--r--.  1 root    root                  0 Nov 10 16:49 cpuinfo
-r--r--r--.  1 root    root                  0 Nov 10 16:49 crypto
-r--r--r--.  1 root    root                  0 Nov 10 16:49 devices
-r--r--r--.  1 root    root                  0 Nov 10 16:49 diskstats
-r--r--r--.  1 root    root                  0 Nov 10 16:49 dma
dr-xr-xr-x.  2 root    root                  0 Nov 10 16:49 driver
-r--r--r--.  1 root    root                  0 Nov 10 16:49 execdomains
-r--r--r--.  1 root    root                  0 Nov 10 16:49 fb
-r--r--r--.  1 root    root                  0 Nov 10 16:49 filesystems
dr-xr-xr-x.  4 root    root                  0 Nov 10 16:49 fs
-r--r--r--.  1 root    root                  0 Nov 10 16:49 interrupts
-r--r--r--.  1 root    root                  0 Nov 10 16:49 iomem
-r--r--r--.  1 root    root                  0 Nov 10 16:49 ioports
dr-xr-xr-x. 55 root    root                  0 Nov 10 16:49 irq
-r--r--r--.  1 root    root                  0 Nov 10 16:49 kallsyms
-r--------.  1 root    root    140737486266368 Nov 10 16:49 kcore
-r--r--r--.  1 root    root                  0 Nov 10 16:49 keys
-r--r--r--.  1 root    root                  0 Nov 10 16:49 key-users
-r--------.  1 root    root                  0 Nov 10 16:49 kmsg
-r--------.  1 root    root                  0 Nov 10 16:49 kpagecount
-r--------.  1 root    root                  0 Nov 10 16:49 kpageflags
-r--r--r--.  1 root    root                  0 Nov 10 16:49 loadavg
-r--r--r--.  1 root    root                  0 Nov 10 16:49 locks
-r--r--r--.  1 root    root                  0 Nov 10 16:49 mdstat
-r--r--r--.  1 root    root                  0 Nov 10 16:49 meminfo
-r--r--r--.  1 root    root                  0 Nov 10 16:49 misc
-r--r--r--.  1 root    root                  0 Nov 10 16:49 modules
lrwxrwxrwx.  1 root    root                 11 Nov 10 16:49 mounts -> self/mounts
dr-xr-xr-x.  3 root    root                  0 Nov 10 16:49 mpt
-rw-r--r--.  1 root    root                  0 Nov 10 16:49 mtrr
lrwxrwxrwx.  1 root    root                  8 Nov 10 16:49 net -> self/net
-r--r--r--.  1 root    root                  0 Nov 10 16:49 pagetypeinfo
-r--r--r--.  1 root    root                  0 Nov 10 16:49 partitions
-r--r--r--.  1 root    root                  0 Nov 10 16:49 sched_debug
-r--r--r--.  1 root    root                  0 Nov 10 16:49 schedstat
dr-xr-xr-x.  4 root    root                  0 Nov 10 16:49 scsi
lrwxrwxrwx.  1 root    root                  0 Nov 10 16:42 self -> 1308
-r--------.  1 root    root                  0 Nov 10 16:49 slabinfo
-r--r--r--.  1 root    root                  0 Nov 10 16:49 softirqs
-r--r--r--.  1 root    root                  0 Nov 10 16:49 stat
-r--r--r--.  1 root    root                  0 Nov 10 16:43 swaps
dr-xr-xr-x.  1 root    root                  0 Nov 10 16:43 sys
--w-------.  1 root    root                  0 Nov 10 16:49 sysrq-trigger
dr-xr-xr-x.  2 root    root                  0 Nov 10 16:49 sysvipc
-r--r--r--.  1 root    root                  0 Nov 10 16:49 timer_list
-rw-r--r--.  1 root    root                  0 Nov 10 16:49 timer_stats
dr-xr-xr-x.  4 root    root                  0 Nov 10 16:49 tty
-r--r--r--.  1 root    root                  0 Nov 10 16:49 uptime
-r--r--r--.  1 root    root                  0 Nov 10 16:49 version
-r--------.  1 root    root                  0 Nov 10 16:49 vmallocinfo
-r--r--r--.  1 root    root                  0 Nov 10 16:49 vmstat
-r--r--r--.  1 root    root                  0 Nov 10 16:49 zoneinfo
View Code

查看进程详细信息

显示为数字编号的目录对应于实际进程ID。查看进程表,您可以将进程与关联的进程ID进行匹配。例如,进程表为secure shell server显示以下内容:

[root@localhost ~]# ps ax | grep sshd
  1021 ?        Ss     0:00 /usr/sbin/sshd -D
  1283 ?        Ss     0:00 sshd: root@pts/0
  1312 pts/0    S+     0:00 grep --color=auto sshd
View Code

通过查看进程目录/proc/1021中的相关文件,可以获取此进程的详细信息。但是进程目录里面很多文件大小都是0,又怎么能查看信息呢?你可以将这些文件想象成观察内核的一扇窗户,对于那些实际上不包含任何数据的文件,它只是作为指向实际进程信息所在位置的指针。 例如,/proc/1021目录中的文件列表类似于以下内容:

[root@localhost ~]# ll /proc/1021
total 0
dr-xr-xr-x. 2 root root 0 Nov 10 16:52 attr
-rw-r--r--. 1 root root 0 Nov 10 16:52 autogroup
-r--------. 1 root root 0 Nov 10 16:52 auxv
-r--r--r--. 1 root root 0 Nov 10 16:43 cgroup
--w-------. 1 root root 0 Nov 10 16:52 clear_refs
-r--r--r--. 1 root root 0 Nov 10 16:43 cmdline
-rw-r--r--. 1 root root 0 Nov 10 16:43 comm
-rw-r--r--. 1 root root 0 Nov 10 16:52 coredump_filter
-r--r--r--. 1 root root 0 Nov 10 16:52 cpuset
lrwxrwxrwx. 1 root root 0 Nov 10 16:52 cwd -> /
-r--------. 1 root root 0 Nov 10 16:52 environ
lrwxrwxrwx. 1 root root 0 Nov 10 16:43 exe -> /usr/sbin/sshd
dr-x------. 2 root root 0 Nov 10 16:43 fd
dr-x------. 2 root root 0 Nov 10 16:52 fdinfo
-rw-r--r--. 1 root root 0 Nov 10 16:52 gid_map
-r--------. 1 root root 0 Nov 10 16:52 io
-r--r--r--. 1 root root 0 Nov 10 16:52 limits
-rw-r--r--. 1 root root 0 Nov 10 16:43 loginuid
dr-x------. 2 root root 0 Nov 10 16:52 map_files
-r--r--r--. 1 root root 0 Nov 10 16:52 maps
-rw-------. 1 root root 0 Nov 10 16:52 mem
-r--r--r--. 1 root root 0 Nov 10 16:52 mountinfo
-r--r--r--. 1 root root 0 Nov 10 16:52 mounts
-r--------. 1 root root 0 Nov 10 16:52 mountstats
dr-xr-xr-x. 5 root root 0 Nov 10 16:52 net
dr-x--x--x. 2 root root 0 Nov 10 16:52 ns
-r--r--r--. 1 root root 0 Nov 10 16:52 numa_maps
-rw-r--r--. 1 root root 0 Nov 10 16:52 oom_adj
-r--r--r--. 1 root root 0 Nov 10 16:52 oom_score
-rw-r--r--. 1 root root 0 Nov 10 16:43 oom_score_adj
-r--r--r--. 1 root root 0 Nov 10 16:52 pagemap
-r--------. 1 root root 0 Nov 10 16:52 patch_state
-r--r--r--. 1 root root 0 Nov 10 16:52 personality
-rw-r--r--. 1 root root 0 Nov 10 16:52 projid_map
lrwxrwxrwx. 1 root root 0 Nov 10 16:52 root -> /
-rw-r--r--. 1 root root 0 Nov 10 16:52 sched
-r--r--r--. 1 root root 0 Nov 10 16:52 schedstat
-r--r--r--. 1 root root 0 Nov 10 16:43 sessionid
-rw-r--r--. 1 root root 0 Nov 10 16:52 setgroups
-r--r--r--. 1 root root 0 Nov 10 16:52 smaps
-r--r--r--. 1 root root 0 Nov 10 16:52 stack
-r--r--r--. 1 root root 0 Nov 10 16:43 stat
-r--r--r--. 1 root root 0 Nov 10 16:52 statm
-r--r--r--. 1 root root 0 Nov 10 16:43 status
-r--r--r--. 1 root root 0 Nov 10 16:52 syscall
dr-xr-xr-x. 3 root root 0 Nov 10 16:52 task
-r--r--r--. 1 root root 0 Nov 10 16:52 timers
-rw-r--r--. 1 root root 0 Nov 10 16:52 uid_map
-r--r--r--. 1 root root 0 Nov 10 16:52 wchan
View Code

进程目中部分文件/目录解析

/proc/PID/cmdline

Command line arguments.

/proc/PID/cpu

Current and last cpu in which it was executed.

/proc/PID/cwd

Link to the current working directory.

/proc/PID/environ

Values of environment variables.

/proc/PID/exe

Link to the executable of this process.

/proc/PID/fd

Directory, which contains all file descriptors.

/proc/PID/maps

Memory maps to executables and library files.

/proc/PID/mem

Memory held by this process.

/proc/PID/root

Link to the root directory of this process.

/proc/PID/stat

Process status.

/proc/PID/statm

Process memory status information.

/proc/PID/status

Process status in human readable form.

猜你喜欢

转载自www.cnblogs.com/kelamoyujuzhen/p/9939935.html