proc文件系统探索之proc根目录下的文件 三 fd fdinfo root stat

4387阅读 0评论2011-12-13 yuweixian4230
分类:LINUX

本文是根据 kerneltravel proc文件系统探索系列http:///?p=281
学习,具体实际操作的记录

========================================================
6.fd目录和fdinfo目录
fd目录包含了所有该进程使用的文件描述符,而fdinfo目录包含的是对应的fd目录中进程打开的操作权限。
  1. root@ywx:/proc/2159/fd# ls
  2. 0 1 2 3 4 5 6 7
  3. root@ywx:/proc/2159/fd# ls -l
  4. total 0
  5. lrwx------ 1 ywx ywx 64 2011-12-13 13:23 0 -> /dev/null
  6. lrwx------ 1 ywx ywx 64 2011-12-13 13:23 1 -> /dev/null
  7. lrwx------ 1 ywx ywx 64 2011-12-13 13:23 2 -> /dev/null
  8. lr-x------ 1 ywx ywx 64 2011-12-13 13:23 3 -> pipe:[13347]
  9. lrwx------ 1 ywx ywx 64 2011-12-13 13:23 4 -> /dev/null
  10. l-wx------ 1 ywx ywx 64 2011-12-13 13:23 5 -> pipe:[13347]
  11. lrwx------ 1 ywx ywx 64 2011-12-13 13:23 6 -> socket:[13348]
  12. lrwx------ 1 ywx ywx 64 2011-12-13 13:23 7 -> socket:[13349]
  13. root@ywx:/proc/2159/fd# cd ../fdinfo/
  14. root@ywx:/proc/2159/fdinfo# cat 0
  15. pos:    0
  16. flags:    02      件访问权限是O_RDWR(可读可写
  17. root@ywx:/proc/2159/fdinfo# ls -l /dev/null
  18. crw-rw-rw- 1 root root 1, 3 2011-12-12 17:58 /dev/null
  19. root@ywx:/proc/2159/fdinfo#
我们可以看出fd目录中包含的是进程打开文件的链接,这里我们就可以看到我们经常提到的标准输入(0)、标准输出(1)、标准错误输出(2)。那么fdinfo中包含的文件的的含义,我们可以从这连个方面探索。一个是内核中的 函数(/fs/proc/base.c),fdinfo目录中的文件中的内容正是由这个函数写的,而flags对应的是文件结构struct file 的f_flgas(访问权限)。另一个是我们可以通过查看fd目录中包含的符号链接文件指向文件的权限得知(fdinfo目录中文件内容)
flags:02″表示文件访问权限是O_RDWR(可读可写),而fd中符号链接文件指向的文件/dev/pts/5对用户的权限也是可读可写。

7. root
该文件指向的是更目录 /

8 stat文件




















上一篇:解读linux的/proc下的statm、maps、memmap 内存信息文件分析
下一篇:proc文件系统探索之proc根目录下的文件 五 misc modules