Linux目录--proc详解

Posted 罗罗的1024

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux目录--proc详解相关的知识,希望对你有一定的参考价值。

查看根目录内容

[root@xxxx /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

proc简介

Linux 内核提供了一种进程信息虚拟文件系统(Process information virtual file system) ,简称 proc,通过 proc 这个虚拟的文件系统,可以在运行时访问内核(core)内部数据结构、改变内核的某些参数设置。
数据都是在内存里,本身不占任何硬盘空间。如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的

[root@xxxx proc]# ls
1 106340 118 119744 134 2 2781 2880 2993 3142 3210 3635 42514 52116 64 74 82 91 99 driver key-users net sysrq-trigger
10 106413 118327 12 14 21 2785 2881 3 3160 3248 37 43 53 66 76 83 92 acpi execdomains kmsg pagetypeinfo sysvipc
102475 106502 118831 120 16 22 28 2882 3091 3182 3252 3755 43208 53036 67 77 84 92677 buddyinfo fb kpagecount partitions timer_list
103184 106563 119 120640 167 23 2823 2883 31 3184 3256 38 44 54 68 78 86 93 bus filesystems kpageflags sched_debug timer_stats
103553 107 119112 121 17 24 2826 2884 3100 3185 33 39 46 56 69 78374 88 9352 cgroups fs loadavg schedstat tty
104063 107133 119208 121372 18 2565 2839 2885 3135 3188 34 3920 47 57 69466 78676 88717 93840 cmdline interrupts locks scsi uptime
104215 108 119213 123690 1878 2567 2840 2886 3136 3195 3446 3993 48 58 7 78687 88870 94 consoles iomem mdstat self version
104515 11 119215 123691 19 2568 2859 2887 3137 3196 3450 4038 49 59 71 78688 89 95 cpuinfo ioports meminfo slabinfo vmallocinfo
104970 110742 119240 124607 1902 2582 2864 29 3138 3198 3451 41 5 61 71792 78790 8923 96 crypto irq misc softirqs vmstat
105 113867 119333 128906 1907 26 2867 2956 3139 32 36 42 5027 61403 72 79 9 97 devices kallsyms modules stat zoneinfo
105657 113868 119602 13 1915 26305 2878 2969 3140 3202 3629 4237 51 62 73 8 90 973 diskstats kcore mounts swaps
106 116 119707 13027 1940 27 2879 2992 3141 3205 3630 42503 52 63 73040 81 90034 98 dma keys mtrr sys

另外,在​​/proc​​下还有三个很重要的目录:net,scsi和sys。 sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi 目录不存在。

进程目录

​/proc​​ 下有一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。

#以进程 4327为例
[root@xxxx 4237]# ls
ls: cannot read symbolic link exe: No such file or directory
total 0
dr-xr-xr-x 2 root root 0 Jun 29 12:56 attr
-rw-r--r-- 1 root root 0 Jun 29 12:56 autogroup
-r-------- 1 root root 0 Jun 29 12:56 auxv
-r--r--r-- 1 root root 0 Jun 29 12:56 cgroup
--w------- 1 root root 0 Jun 29 12:56 clear_refs
-r--r--r-- 1 root root 0 Jun 29 12:56 cmdline #cmdline,进程启动命令
-rw-r--r-- 1 root root 0 Jun 29 12:56 comm
-rw-r--r-- 1 root root 0 Jun 29 12:56 coredump_filter
-r--r--r-- 1 root root 0 Jun 29 12:56 cpuset
lrwxrwxrwx 1 root root 0 Jun 29 12:56 cwd -> /
-r-------- 1 root root 0 Jun 24 16:35 environ
lrwxrwxrwx 1 root root 0 Jun 24 16:35 exe #exe,指向启动当前进程的可执行文件(完整路径)的符号链接
dr-x------ 2 root root 0 Jun 24 19:40 fd #fd,进程相关的所有的文件描述符
dr-x------ 2 root root 0 Jun 29 12:56 fdinfo
-rw-r--r-- 1 root root 0 Jun 29 12:56 gid_map
-r-------- 1 root root 0 Jun 29 12:56 io
以上是关于Linux目录--proc详解的主要内容,如果未能解决你的问题,请参考以下文章

Linux下proc文件接口详解

linux解压拆分的压缩包

/proc/uptime详解

linux重要的目录之proc和dev目录

sysctl.conf文件详解

Linux一步一步学Linux——Linux系统目录详解(09)