暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Linux中/proc/*代表的意义

watson 2025-03-02
40

进程都是在内存中,而内存当中的数据都写到/proc/*这个目录下,所以,当我们直接查看/proc/*这个目录下的文件,就有很多数字命名的目录和其它文件


一 查看/proc/目录下边的内容

[root@centos ~]# cd /proc/[root@centos proc]# ls 1     1375  1935  2299  2560  2644  27    28    2980  328  354  368  381  395  41   510  544  688  795  871  914  997          fb           locks         slabinfo10    1378  1995  23    2565  2650  2712  2803  3     33   355  369  382  396  410  511  545  7    796  874  915  acpi         filesystems  mdstat        softirqs1012  1382  2     2305  2567  2655  2713  2804  30    334  356  37   383  397  411  52   546  720  797  880  917  asound       fs           meminfo       stat1014  14    20    2307  2569  2669  2722  2807  3003  335  357  370  384  398  42   522  547  722  798  883  918  buddyinfo    interrupts   misc          swaps11    15    2070  2316  2581  2670  2723  2810  3007  336  358  371  385  399  43   523  55   723  799  886  919  bus          iomem        modules       sys12    16    2071  2317  2584  2671  2724  2829  3012  338  359  372  386  400  44   53   56   726  8    887  921  cgroups      ioports      mounts        sysrq-trigger123   160   21    2386  2592  2675  2725  2842  3018  339  36   373  387  401  440  536  57   728  80   889  928  cmdline      irq          mpt           sysvipc13    1680  2150  2390  2597  2680  2731  2849  3019  34   360  374  388  402  441  537  62   73   800  894  929  consoles     kallsyms     mtrr          timer_list130   1687  22    2395  26    2681  2732  2878  3033  340  361  375  389  403  45   538  620  75   81   895  94   cpuinfo      kcore        net           timer_stats131   1688  2220  24    2604  2682  2743  2894  3070  341  362  376  39   404  46   539  63   76   840  898  957  crypto       keys         pagetypeinfo  tty1341  17    2221  2487  2608  2683  2766  29    3071  344  363  377  390  405  48   54   636  77   842  899  966  devices      key-users    partitions    uptime1342  18    2222  2501  2620  2687  2779  2920  31    345  364  378  391  406  49   540  64   78   844  9    974  diskstats    kmsg         sched_debug   version1347  1866  2235  2506  2627  2689  2781  2939  32    35   365  379  392  407  5    541  644  79   846  902  993  dma          kpagecount   schedstat     vmallocinfo1348  1867  2284  2509  2633  2694  2782  2967  324   352  366  38   393  408  50   542  65   793  847  905  994  driver       kpageflags   scsi          vmstat1354  19    2288  2542  2639  2696  2793  2968  325   353  367  380  394  409  51   543  657  794  869  910  995  execdomains  loadavg      self          zoneinfo
复制

    解释:目前主机上边的各个进程的PID都已目录的形式存在于/proc当中。例如systemd的PID是1,顺便我们看看有什么东东?

[root@centos proc]# cd 1[root@centos 1]# lltotal 0dr-xr-xr-x. 2 root root 0 Aug 23 00:40 attr-rw-r--r--. 1 root root 0 Aug 23 00:40 autogroup-r--------. 1 root root 0 Aug 23 00:40 auxv-r--r--r--. 1 root root 0 Aug 23 00:31 cgroup--w-------. 1 root root 0 Aug 23 00:40 clear_refs-r--r--r--. 1 root root 0 Aug 23 00:31 cmdline  #命令串-rw-r--r--. 1 root root 0 Aug 23 00:31 comm-rw-r--r--. 1 root root 0 Aug 23 00:40 coredump_filter-r--r--r--. 1 root root 0 Aug 23 00:40 cpusetlrwxrwxrwx. 1 root root 0 Aug 23 00:40 cwd -> /-r--------. 1 root root 0 Aug 23 00:31 environ #一些环境变量lrwxrwxrwx. 1 root root 0 Aug 23 00:31 exe -> /usr/lib/systemd/systemd......    
复制

[root@centos 1]# cat cmdline 

/usr/lib/systemd/systemd--switched-root--system--deserialize22

    存放的是这个进程被启动的命令串。


二 介绍/proc/目录下除了进程之外重要的文件


  1. /proc/cmdline 加载内核时所执行的相关命令与参数,前文已讲

  2. /proc/cpuinfo 本机的CPU相关信息,包含频率、类型功能等

  3. /proc/devices 记录主要设备的只要设备代号,与mknod有关

  4. /proc/filesystems 当前系统已经加载的文件系统

  5. /proc/interrupts 当前系统上IRQ分配状态

  6. /proc/ioports 当前系统上各个设置所配置的I/O地址

  7. /proc/kcore 内存大小,但不要读它

  8. /proc/loadavg 命令top与 uptime,上边三个平均值就记录在此

  9. /proc/meminfo 使用free列出的内存信息,这个文件中就可以看到

  10. /proc/modules 当前Linux已经加载的模块,也可以成为驱动程序

  11. /proc/mounts 系统已经挂载的数据,使用mount就可以掉出来

  12. /proc/swaps 系统挂载的内存在哪里?使用的硬盘分区再此记录

  13. /proc/partitions 命令fdisk -l查看当前硬盘分区

  14. /proc/uptime 使用命令uptime时出现的信息

  15. /proc/version 内核版本,命令uname -a显示的内容

  16. /proc/bus/* 一些总线设备,还有USB设备也距离在此处

【结语】


    感兴趣的同学们可以查看文件中的信息,但没有必要深入了解。如果以后有兴趣的同学想要编写某些工具软件,那么这个目录下边的相关文件可能会对您有帮助的。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论