内核使用三种数据结构表示打开的文件,分别是文件描述符表、文件表和 V 节点表。它们之间的关系决定了在文件共享方面一个进程对另一个进程可能产生的影响。
每个进程在进程表中都有一个记录项,记录项中包含有一张打开文件描述符表,每个描述符占用一项。与每个文件描述符相关联的是:
(a) 文件描述符标志。
(b) 指向一个文件表项的指针。
内核为所有打开文件维持一张文件表。每个文件...
分类:
其他好文 时间:
2015-01-05 18:53:29
阅读次数:
146
Debug视图认识debug视图,红色部分框为线程堆栈视图,黄色部分框为表达式、断点、变量视图,蓝色部分为代码视图。线程堆栈视图分别介绍一下这几个按钮的含义:1.表示当前实现继续运行直到下一个断点,快捷键为F8。2.表示打断整个进程3.表示进入当前方法,快捷键为F5。4.表示运行下一行代码,快捷键为...
分类:
系统相关 时间:
2015-01-05 16:19:01
阅读次数:
264
一、linux shell 命令killall:通过进程名向进程发送信号,默认发送15号sigterm(进程处于uninterruptible sleep时,进程表的信号域被置位,但进程无法处理sigterm信号,通常进行IO,不可被打断,保证内核态例程的执行)守护进程重启:killall -s H...
分类:
系统相关 时间:
2015-01-04 11:59:47
阅读次数:
272
1、查看进程某个进程的基础上生成了另一个进程,则它们为父子进程;[root@clz~]#pstree├─sshd───sshd───bash───pstree[root@clz~]#ps
PIDTTYTIMECMD
2797pts/000:00:00bash
2874pts/000:00:00ps查看所有进程,x表示显示不属于任何终端的子进程,即tty显示为?,ps-ef..
分类:
系统相关 时间:
2015-01-04 06:33:56
阅读次数:
265
一般我们讲,都说进程有文件描述符表,文件描述符表中的指针指向某个inode,这中间省略了file,dentry对象,对准确理解VFS结构无益,本文结合网络所查,并根据APUE8.3和LKD13.11章节校对,总结在下,希望有用。 内核中,对应于每个进程都有一个文件描述符表,表示这个进程打开的所...
分类:
系统相关 时间:
2014-12-10 12:17:08
阅读次数:
243
1 父子进程的程序空间 子进程获得父进程的数据空间、堆、栈的副本,即不共享这些空间 父子进程共享正文段 不过现在又很多实现采用COW写时复制技术,即共享空间,发生修改时只为修改区域制作副本2 文件共享 父子进程各自维护进程表项(记录有文件描述符、文件描述符标志、文件表指针) 父子进程共享文件表(记录...
分类:
系统相关 时间:
2014-12-04 17:45:30
阅读次数:
215
本文讨论如何在多个进程间共享文件,以及所涉及的内核数据结构。然后会介绍dup,dup2,fcntl等函数的使用。1 数据结构内核使用三种数据结构表示打开的文件:(1)每个进程在进程表中都有一个记录项,记录项中有一张打开文件文件描述符表,每项包括: a )文件描述符标志(close_on_exec)....
分类:
其他好文 时间:
2014-11-08 23:26:16
阅读次数:
337
在了解dup用法之前,需要对linux的文件节点有一个认识。
内核有3个数据结构来表示进程打开的文件,dup是系统提供的一个API可以直接操作这三个数据结构之间的关系。
(1)每个进程在进程表当中都有一个记录项,记录项中包含一张表格,记录了所有当前进程打开的文件,可以将其想象成为一个key-value的映射关系,key为文件描述符fd,对于每个进程来说,fd从0开始向后排,value为指向文件...
分类:
其他好文 时间:
2014-09-09 18:20:19
阅读次数:
220
进程读文件之前,需要先打开文件,进程打开文件的时候,Linux会把这个文件关联到一个数字(称之为文件描述符),文件描述符是打开的文件在进程表中的一个索引。每个进程都有自己的一组已经打开的文件和各自的文件描述符,一旦打开某个文件,进程就可以通过文件描述符进行读写该文件。当进程不在需要文件的时候,它必须关闭文件,并且释放文件描述符。
Linux进程在启动的时候会打开3个文件:标准输入(文件描述符0),标准输出(文件描述符1),标准错误(文件描述符2)。
子进程会继承父进程的文件描述符,可以使用命令
ls /p...
分类:
其他好文 时间:
2014-09-03 22:44:37
阅读次数:
241
lienhua342014-08-27内核使用三种数据结构表示打开的文件,分别是文件描述符表、文件表和 V 节点表。(1) 每个进程在进程表中都有一个记录项,记录项中包含有一张打开文件描述符表,每个描述符占用一项。与每个文件描述符相关联的是: (a) 文件描述符标志。 (b) 指向一个文件表项的指针...
分类:
其他好文 时间:
2014-08-27 23:26:58
阅读次数:
297