对/proc文件系统进行读写操作
来源:互联网 发布:mac测速工具 编辑:程序博客网 时间:2024/06/05 01:01
http://edsionte.com/techblog/archives/3030/comment-page-1
本博客之前的文章中多次涉及到/proc文件系统,下面的几条命令都在曾经的文章中出现过:
1
cat /proc/interrupts
2
cat /proc/devices
3
cat /proc/kallsyms | grep super_blocks
第一条命令用于查看系统内已注册的中断信息,包括中断号、已接受的手段请求和驱动器名称等;第二条命令用于查看系统内已注册的字符设备和块设备信息,包括设备号和设备名称;第三条命令用于在内核符号表中检索super_blocks符号的的地址,kallsyms文件包括内核中所有的标示符及其地址。
1.概述
proc即process的缩写,最初的proc文件系统只是存放进程的相关信息。但现在的/proc文件系统除此之外还包含系统的状态信息和配置信息。
通过ls命令就可以查看/proc文件系统所包含的内容。
1
edsionte@edsionte-desktop:/proc$ ls
2
1 1290 1469 1541 1627 19612 29 49 9 dri mdstat sys
3
10 13 1471 1544 1630 19613 3 5 908 driver meminfo sysrq-trigger
4
1013 1301 1474 1548 1632 19629 30 50 913 edsionte_procfs misc sysvipc
5
…………
其中以数字为名的目录即为系统中正在运行的进程信息,数字即为进程的pid。比如我们可以进入init进程的目录,查看它的地址空间:
01
edsionte@edsionte-desktop:/proc/1$sudo cat maps
02
[sudo] password
for
edsionte:
03
00110000-00263000 r-xp 00000000 08:07 704702 /lib/tls/i686/cmov/libc-2.11.1.so
04
00263000-00264000 ---p 00153000 08:07 704702 /lib/tls/i686/cmov/libc-2.11.1.so
05
00264000-00266000 r--p 00153000 08:07 704702 /lib/tls/i686/cmov/libc-2.11.1.so
06
00266000-00267000 rw-p 00155000 08:07 704702 /lib/tls/i686/cmov/libc-2.11.1.so
07
00267000-0026a000 rw-p 00000000 00:00 0
08
0026a000-00272000 r-xp 00000000 08:07 704713 /lib/tls/i686/cmov/libnss_nis-2.11.1.so
09
00272000-00273000 r--p 00007000 08:07 704713 /lib/tls/i686/cmov/libnss_nis-2.11.1.so
10
00273000-00274000 rw-p 00008000 08:07 704713 /lib/tls/i686/cmov/libnss_nis-2.11.1.so
11
00471000-0048b000 r-xp 00000000 08:07 1048610 /sbin/init
12
…………
除了查看进程的相关信息,我们还可以通过打印相关文件来查看系统的当前运行状态。比如查看当前内存的使用情况:
1
edsionte@edsionte-desktop:/proc$ cat meminfo
2
MemTotal: 961368 kB
3
MemFree: 145264 kB
4
Buffers: 31648 kB
5
Cached: 297716 kB
6
SwapCached: 14436 kB
7
…………
总之,/proc文件系统相当于内核的一个快照,该目录下的所有信息都是动态的从正在运行的内核中读取。
基于这种原因,/proc文件系统就成为了用户和内核之间交互的接口。一方面,用户可以从/proc文件系统中读取很多内核释放出来的信息;另一方面,内核也可以在恰当的时候从用户那里得到输入信息,从而改变内核的相关状态和配置。
相比传统的文件系统,/proc是一种特殊的文件系统,即虚拟文件系统。这里的虚拟是强调/proc文件系统下的所有文件都存在于内存中而不是磁盘上。也就是说/proc文件系统只占用内存空间,而不占用系统的外存空间。
1.理解/proc文件系统
http://linux.chinaunix.net/doc/2004-10-05/16.shtml
2.什么是/proc文件系统
http://blog.chinaunix.net/u1/55764/showart_1101797.html
3.使用/proc文件系统来访问Linux内核的内容
http://www.ibm.com/developerworks/cn/linux/l-proc.html
4.linux /proc文件系统操作指南
http://www.lupaworld.com/22802/viewspace_42440.html
5.linux /proc文件系统
http://man.chinaunix.net/linux/mandrake/101/zh_cn/Command-Line.html/ch10s01.html
6.Linux内核模块编程/proc 文件系统
http://www.itfensi.com/soft/linux/dev/11674075331844.html
7.linux /proc文件系统编程
http://www.clinux.org/node/28004
http://linux.sheup.com/linux/linux28.htm
8./proc文件系统分析(二)
http://www.linuxforum.net/forum/showflat.php?Cat=&Board=linuxK&Number=200166&page=82&view=collapsed&sb=5&o=all
9./proc文件系统分析(四)
http://www.linuxforum.net/forum/showflat.php?Cat=&Board=linuxK&Number=200168&page=82&view=collapsed&
10./proc文件系统5大功能
http://www.builder.com.cn/2004/0212/106646.shtml
11./proc目录详解
http://blog.csdn.net/ne2000/archive/2005/12/09/548009.aspx
- 对/proc文件系统进行读写操作
- proc文件系统操作实例
- proc文件系统相关操作
- proc文件系统读写实验总结
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- 利用java对excel进行读写操作
- python中对Excel进行读写操作
- php面向菜鸟 - 架构上的单例效果- 简单代码示例
- VC静态库的合并
- 《CSS+DIV网页样式与布局从入门到精通》PPT及视频下载路径
- C语言数组参数与指针参数
- 数据库与事务的管理
- 对/proc文件系统进行读写操作
- ZOJ 3829 Known Notation / 2014牡丹江区域赛 K (模拟, 贪心)
- 程序设计6
- hql和sql练习题
- linux/ubuntu安装后root默认密码不知后,用其它用户修改即可设定root密码
- AFNetwork使用详解
- 小杯子微信多开 双开共存版 ios8.0微信版本6.0免费获取了
- java学习笔记27
- Maven插件之Maven-Enforcer-Plugin