学习,具体实际操作的记录
========================================================
6.fd目录和fdinfo目录
fd目录包含了所有该进程使用的文件描述符,而fdinfo目录包含的是对应的fd目录中进程打开的操作权限。
- root@ywx:/proc/2159/fd# ls
-
0 1 2 3 4 5 6 7
-
root@ywx:/proc/2159/fd# ls -l
-
total 0
-
lrwx------ 1 ywx ywx 64 2011-12-13 13:23 0 -> /dev/null
-
lrwx------ 1 ywx ywx 64 2011-12-13 13:23 1 -> /dev/null
-
lrwx------ 1 ywx ywx 64 2011-12-13 13:23 2 -> /dev/null
-
lr-x------ 1 ywx ywx 64 2011-12-13 13:23 3 -> pipe:[13347]
-
lrwx------ 1 ywx ywx 64 2011-12-13 13:23 4 -> /dev/null
-
l-wx------ 1 ywx ywx 64 2011-12-13 13:23 5 -> pipe:[13347]
-
lrwx------ 1 ywx ywx 64 2011-12-13 13:23 6 -> socket:[13348]
-
lrwx------ 1 ywx ywx 64 2011-12-13 13:23 7 -> socket:[13349]
-
root@ywx:/proc/2159/fd# cd ../fdinfo/
-
root@ywx:/proc/2159/fdinfo# cat 0
-
pos: 0
-
flags: 02 文件访问权限是O_RDWR(可读可写
-
root@ywx:/proc/2159/fdinfo# ls -l /dev/null
-
crw-rw-rw- 1 root root 1, 3 2011-12-12 17:58 /dev/null
-
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文件
阅读(3973) | 评论(0) | 转发(0) |