/proc/* 代表的意义

来源:互联网 发布:淘宝大学真的有用吗 编辑:程序博客网 时间:2024/04/28 01:45
小标题的图示/proc/* 代表的意义

其实,我们之前提到的所谓的程序都是在内存当中嘛!而内存当中的数据又都是写入到/proc/* 这个目录下的,所以罗,我们当然可以直接观察 /proc 这个目录当中的文件啊!如果你观察过 /proc 这个目录的话,应该会发现他有点像这样:

[root@www ~]# ll /procdr-xr-xr-x  5 root      root              0 Mar 11 08:46 1dr-xr-xr-x  5 root      root              0 Mar 11 00:46 10dr-xr-xr-x  5 root      root              0 Mar 11 00:46 11....(中间省略)....-r--r--r--  1 root      root              0 Mar 20 12:11 uptime-r--r--r--  1 root      root              0 Mar 20 12:11 version-r--r--r--  1 root      root              0 Mar 20 12:11 vmstat-r--r--r--  1 root      root              0 Mar 20 12:11 zoneinfo

基本上,目前主机上面的各个程序的 PID 都是以目录的型态存在於 /proc 当中。举例来说,我们启动所运行的第一支程序 init 他的 PID 是 1 ,这个 PID 的所有相关资讯都写入在 /proc/1/* 当中!若我们直接观察 PID 为 1 的数据好了,他有点像这样:

[root@www ~]# ll /proc/1dr-xr-xr-x 2 root root 0 Mar 12 11:04 attr-r-------- 1 root root 0 Mar 17 14:32 auxv-r--r--r-- 1 root root 0 Mar 17 14:32 cmdline  <==就是命令串-rw-r--r-- 1 root root 0 Mar 17 14:32 coredump_filter-r--r--r-- 1 root root 0 Mar 17 14:32 cpusetlrwxrwxrwx 1 root root 0 Mar 17 14:32 cwd -> /-r-------- 1 root root 0 Mar 17 14:32 environ  <==一些环境变量lrwxrwxrwx 1 root root 0 Mar 17 14:32 exe -> /sbin/init  <==实际运行的命令....(以下省略)....

里面的数据还挺多的,不过,比较有趣的其实是两个文件,分别是:

  • cmdline:这个程序被启动的命令串;
  • environ:这个程序的环境变量内容。

很有趣吧!如果你查阅一下 cmdline 的话,就会发现:

[root@www ~]# cat /proc/1/cmdlineinit [5]

就是这个命令、选项与参数启动 init 的啦!这还是跟某个特定的 PID 有关的内容呢,如果是针对整个 Linux 系统相关的参数呢?那就是在 /proc 目录底下的文件啦!相关的文件与对应的内容是这样的:(注3)

档名文件内容/proc/cmdline加载 kernel 时所下达的相关参数!查阅此文件,可了解系统是如何启动的!/proc/cpuinfo本机的 CPU 的相关资讯,包含时脉、类型与运算功能等/proc/devices这个文件记录了系统各个主要装置的主要装置代号,与 mknod 有关呢!/proc/filesystems目前系统已经加载的文件系统罗!/proc/interrupts目前系统上面的 IRQ 分配状态。/proc/ioports目前系统上面各个装置所配置的 I/O 位址。/proc/kcore这个就是内存的大小啦!好大对吧!但是不要读他啦!/proc/loadavg还记得 top 以及 uptime 吧?没错!上头的三个平均数值就是记录在此!/proc/meminfo使用 free 列出的内存资讯,嘿嘿!在这里也能够查阅到!/proc/modules目前我们的 Linux 已经加载的模块列表,也可以想成是驱动程序啦!/proc/mounts系统已经挂载的数据,就是用 mount 这个命令呼叫出来的数据啦!/proc/swaps到底系统挂加载的内存在哪里?呵呵!使用掉的 partition 就记录在此啦!/proc/partitions使用 fdisk -l 会出现目前所有的 partition 吧?在这个文件当中也有纪录喔!/proc/pci在 PCI 汇流排上面,每个装置的详细情况!可用 lspci 来查阅!/proc/uptime就是用 uptime 的时候,会出现的资讯啦!/proc/version核心的版本,就是用 uname -a 显示的内容啦!/proc/bus/*一些汇流排的装置,还有 U盘 的装置也记录在此喔!

其实,上面这些文件鸟哥在此建议您可以使用 cat 去查阅看看,不必深入了解,不过,观看过文件内容后,毕竟会比较有感觉啦!如果未来您想要自行撰写某些工具软件,那么这个目录底下的相关文件可能会对您有点帮助的喔!

0 0
原创粉丝点击