Linux下/proc目录详解

Linux下/proc目录详解


  • proc目录总的概述
  • proc下有关进程的目录概述
  • proc下针对Linux系统相关的参数目录概述

/proc目录总的概述

1.首先,我们可以使用ll命令查看下/proc目录,如下

[root@centos6 ~]# ls -l /proc
    total 0
        dr-xr-xr-x.  8 root      root         0 May 19 04:02 1
        dr-xr-xr-x.  8 root      root         0 May 19 04:02 10
        dr-xr-xr-x.  8 root      root         0 May 18 20:02 1078
        dr-xr-xr-x.  8 root      root         0 May 18 20:02 1079
        ...(中间省略)...
        -r--r--r--.  1 root      root         0 May 19 17:39 timer_list
        -rw-r--r--.  1 root      root         0 May 19 17:39 timer_stats
        dr-xr-xr-x.  4 root      root         0 May 19 17:39 tty
        -r--r--r--.  1 root      root         0 May 19 17:39 uptime
        -r--r--r--.  1 root      root         0 May 19 17:39 version
        -r--------.  1 root      root         0 May 19 17:39 vmallocinfo
        -r--r--r--.  1 root      root         0 May 19 17:39 vmstat
        -r--r--r--.  1 root      root         0 May 19 17:39 zoneinfo

2.使用ps aux命令查看下当前系统所有正在运行的进程

[root@centos6 ~]# ps aux
    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root          1  0.0  0.1  19352  1564 ?        Ss   May18   0:02 /sbin/init
    root          2  0.0  0.0      0     0 ?        S    May18   0:00 [kthreadd]
    root          3  0.0  0.0      0     0 ?        S    May18   0:00 
    ...(中间省略)...
   /sbin/dhclient -d -4 -sf /usr/libexec/nm-dhcp-client.action -pf /var/run/dhcl
    root      27825  0.0  0.4 102104  4140 ?        Ss   14:10   0:00 sshd:  root@pts/4 
    root      27826  0.0  0.4 102104  4152 ?        Ss   14:10   0:00 sshd: root@pts/3 
    root      27833  0.0  0.1 108364  1816 pts/3    Ss   14:10   0:00 -bash
    root      27834  0.0  0.1 108364  1800 pts/4    Ss+  14:10   0:00 -bash
    postfix   28615  0.0  0.3  81040  3436 ?        S    17:44   0:00 pickup -l -t fifo -u
    root      28620  8.0  0.1 110256  1152 pts/3    R+   17:45   0:00 ps aux

3.对比上面的两条命令运行的结果,我们可以发现系统中每个正在运行的进程几乎都在/prom目录下有一个以其进程Id命名的文件夹(/proc/Pid/),但是proc目录下除了这些以进程Id命令的文件夹,还有其他类似/proc/cpuinfo、/proc/pci的文件夹。通过man proc得知proc是一个进程信息伪文件系统,它只存在内存当中,不占用外内存空间。它以文件的方式为访问系统内核数据的操作提供接口。

proc下有关进程的目录概述

1.用ll 查看/proc/1/、 /proc/2 等类似/proc/Pid/的文件夹,可以发现它们有相同的文件夹。如下

[root@centos6 ~]# ll /proc/1
total 0
dr-xr-xr-x. 2 root root 0 May 19 18:25 attr
-rw-r--r--. 1 root root 0 May 19 18:25 autogroup
-r--------. 1 root root 0 May 19 18:25 auxv
-r--r--r--. 1 root root 0 May 19 18:25 cgroup
--w-------. 1 root root 0 May 19 18:25 clear_refs
-r--r--r--. 1 root root 0 May 19 04:02 cmdline
-rw-r--r--. 1 root root 0 May 19 18:25 comm
 ...(中间省略)...
-r--r--r--. 1 root root 0 May 19 04:02 stat
-r--r--r--. 1 root root 0 May 19 18:25 statm
-r--r--r--. 1 root root 0 May 19 17:46 status
-r--r--r--. 1 root root 0 May 19 18:25 syscall
dr-xr-xr-x. 3 root root 0 May 19 18:25 task
-r--r--r--. 1 root root 0 May 19 18:25 wchan

2.下面是/proc/Pid下的常用子目录作用简介

文件名 文件内容
/proc/[pid]/cmdline 进程被启动的命令串
/proc/[pid]/environ 进程的环境变量内容
/proc/[pid]/cwd 指向当前进程运行目录的一个符号链接
/proc/[pid]/exe 指向启动当前进程的执行路径的符号链接
/proc/[pid]/fd 包含当前进程打开的每一个文件的文件描述符的目录
/proc/[pid]/limits 当前进程所使用的每一个受限的软硬件限制和管理单元
/proc/[pid]/maps 当前进程关联到每个可执行文件和库文件在内存中的映射区域及其访问权限所组成的列表
/proc/[pid]/mem 当前进程所占用的内存空间
/proc/[pid]/root 指向当前进程运行根目录的符号链接
/proc/[pid]/stat 当前进程的状态信息
/proc/[pid]/statm 当前进程占用内存的状态信息
/proc/[pid]/status 当前进程的状态信息

proc下针对Linux系统相关的参数目录概述

1.我们可以使用cat查看/proc/cpuinfo 等目录,可以看到与系统相关的一些参数

[root@centos6 ~]# cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 58
model name  : Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
stepping    : 9
microcode   : 21
cpu MHz     : 2594.139
cache size  : 3072 KB
physical id : 0
siblings    : 1
core id     : 0
cpu cores   : 1
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb pln pts dtherm fsgsbase smep
bogomips    : 5188.27
clflush size    : 64
cache_alignment : 64
address sizes   : 42 bits physical, 48 bits virtual
power management:

2.下面是/proc/Pid下的常用子目录作用简介

文件名 文件内容
/proc/cmdline kernel启动的命令行
/proc/cpuinfo 本机的CPU相关信息
/proc/devices 记录字符和块设备的主设备号,以及分配到这些设备号的设备名称
/proc/filesystems 目前系统已经加载的文件系统
/proc/interrupts 目前系统上面的IRQ分配状态
/proc/ioports 目前系统上各个设备所配置的I/O地址
/proc/kcore 系统的物理内存以core文件格式保存的文件
/proc/loadavg 保存关于CPU和磁盘I/O的负载平均值,其前三列分别表示每1秒钟、每5秒钟及每15秒的负载平均值
/proc/meminfo 内存信息
/proc/modules Linux已经加载的模块列表
/proc/mounts 系统已经挂载的数据
/proc/swaps 当前系统上的交换分区及其空间利用信息
/proc/partitons 系统分区信息
/proc/zoneinfo 显示内存空间的统计信息,对分析虚拟内存行为很有用
/proc/pci 在PCI总线上的每个设备的详细情况
/proc/uptime 系统上次启动以来的运行时间
/proc/version 内核的版本
/proc/net 网卡设备信息
/proc/tty tty设备信息
/proc/bus/* 一些总线的设备、USB设备记录在此
+

原创文章,作者:似梦非雨,如若转载,请注明出处:http://www.178linux.com/76464

(1)
似梦非雨似梦非雨
上一篇 2017-05-20
下一篇 2017-05-20

相关推荐

  • 解决线上服务器httpd无法反向代理resin的解决方法

    一、简述   前两天有后端的小伙伴跟我反映说使用httpd反向代理resin时遇到的问题,在做网站管理后台的时候,发起的http的put,delete的请求无法经由resin传递到后面的dbserver。当时的第一反应就是httpd的反向代理设置出现的问题,但是关于httpd反代resin的内容在网上机会搜索不到。于是,查看httpd反代tomca…

    Linux干货 2017-01-11
  • phpMyAdmin安装部署

    phpMyAdmin安装部署 phpMyAdmin 是一个用PHP编写的软件工具,可以通过web方式控制和操作MySQL数据库。通过phpMyAdmin 可以完全对数据库进行操作,例如建立、复制和删除数据等等。如果使用合适的工具,MySQL数据库的管理就会变得相当简单。应用 MySQL 命令行方式需要对 MySQL 知识非常熟悉,对SQL语言也是同样的道理。…

    2017-06-13
  • 马哥教育网络班22期第二周课程练习1-未闻花名

    1、Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touch 创建文件 mv 移动文件 rm 删除文件 rmdir 删除目录 1.1 pwd命令 该命令的英文解释为print working directory(打…

    Linux干货 2016-08-29
  • alias——Linux基本命令(4)

    1.     alias别名 (1)查看、设置别名 Linux系统提供了一个有用的工具叫alias,可以让我们将一些需要频繁使用的但又过于冗长的命令设置一个别名,这样一来,以后只需输入一个简短的别名就可以达到同样的作用。 alias显看当前已定义的别名   使用aliasaliname=’comm…

    2017-07-13
  • N21沉舟14周作业

    系统的INPUT和OUTPUT默认策略为DROP; iptables -P INPUT DROP iptables -P OUTPUT DROP 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响…

    Linux干货 2016-11-14