`
chaotang0281
  • 浏览: 46418 次
  • 性别: Icon_minigender_2
  • 来自: 威海
社区版块
存档分类
最新评论

linux 文件描述符 进程

阅读更多

今天在看qmail 源代码的时候,有关进程和文件描述符的地方,有点不懂,在网上小查了一下,浅显的样子应该是这样.

文件描述符,录属于进程.对于不同的进程,文件描述符是相互独立的,所以在不同的进程中,可以用相同的文件描述符来指向不同的文件或者管道之类的.

下面是在unix 环境高级编程的话:

对于内核而言 ,所有打开文件都由文件描述符引用.文件描述符是一个非负整数.当打开一个现存文件或创建一个新文件时,内核向 进程 返回一个文件描述符.当读,写一个文件时,用open或create返回的文件描述符标识该文件,将其作为参数传送给read或write.

按照惯例,UNIX shell 使文件描述符0与标准输入相结合,文件描述符1与标准输出相结合,文件描述符2与打闪出错相结合.

这是UNIX shell以及很多应用程序的惯例,而与内核无关.

分享到:
评论
2 楼 XLLLQ 2011-08-31  
楼上理解有问题  本来是一个东西
1 楼 gift5168xf 2010-04-22  
最近因为忙很少上javaeye了。但是看到了你这篇文章我不得不上来顶下,我现在在学shell。当我看到shell文件描述符时有点不太明白。上网上查资料,结果大多数人写的都是把内核文件描述符和shell文件描述符扯在一起,让我更晕了。看到这篇文章我真是豁然开朗了。多谢分享!!

相关推荐

    嵌入式开发教程之linux进程与它的文件描述符--千锋培训

    文档介绍了一)概述,二)父/子进程对文件描述符的分支使用示例,三)文件描述符与/proc,四)文件描述符与lsof命令,五)文件描述符的限制

    linux下文件描述符限制问题

    linux下文件描述符最大限制默认最大为1024,通过 [root@localhost ~]# ulimit -n 1024 这个命令可以查看。此值可以修改。 进程的文件描述符,可以通过 [root@localhost ~]# ls -al /proc/13623/fd |wc -l 59 输出...

    Linux进程间传递文件描术符事例代码

    linux下,进程间传递文件描符的事例代码。

    修改linux进程可打开的文件数的限制open files

    修改linux进程可打开的文件数的限制open files linux中一切都是文件 默认linux一个进程可打开1024个文件 大并发需要达到5万个文件描述符FD,你必须修改该参数值才行

    linux文件IO之整理笔记

    本文总结了 Linux 文件 IO 的相关知识点,涵盖了文件 IO 的基本概念、文件描述符、open 函数、read 函数、write 函数、lseek 函数、close 函数等。 一、文件 IO 概念 文件 IO 是计算机操作系统中最基本的输入/输出...

    Rust板条箱用于Linux的进程文件描述符(pidfd)-Rust开发

    进程文件描述符(pidfd)提供了一种无竞争的方式来管理Linux上的进程,使用文件描述符而不是在进程退出后可以重用的数字进程ID(PID)来维护对进程的持久引用。 Linux的进程文件描述符(pidfd)提供了一种无竞争的...

    编写Linux守护进程

    5. 关闭打开的文件描述符,并重定向标准输入、标准输出和标准错误输出的文件描述符。可以使用 close() 函数关闭文件描述符,例如: for (fd = 0, fdtablesize = getdtablesize(); fd ; fd++) close(fd); 6. 捕捉...

    Linux系统中守护进程的创建方法.pdf

    守护进程的创建步骤包括脱离终端和会话期、更改当前目录、关闭打开的文件描述符、忽略信号、屏蔽信号、创建新会话期等。 在 Linux 中,守护进程可以使用 C 语言编程来实现,通过 fork 和 setsid 函数来创建守护进程...

    linux kernel之文件系统.pptx

    文件描述符是进程打开文件时分配的唯一标识符,每个进程都有一个文件描述符表,记录了进程打开的所有文件。文件表是内核维护的一个数据结构,记录了所有打开的文件的信息,包括文件的inode 号、文件的状态、文件的...

    Linux下利用Lsof恢复误删文件的方法.docx

    在 Linux 系统中,每个进程都可以打开多个文件,每个文件都对应一个文件描述符(File Descriptor)。文件描述符是一个整数,它唯一标识一个文件。文件描述符可以用来标识一个文件,并且可以用来控制文件的读写操作。...

    通过文件描述符恢复被误删除的文件(前提是文件正被某一个进程占用着,未被释放)

    通过文件描述符恢复被误删除的文件(前提是文件正被某一个进程占用着,未被释放)

    Linux系统下守护进程编程方法.pdf

    在Linux系统下,守护进程创建时,会从父进程继承打开的文件描述符、控制终端、会话、进程组、工作目录和文件的创建掩码等。通常情况下,这会对进程的创建带来很多方便,但是守护进程需要避免父进程对它造成的影响。 ...

    详解Linux下的文件标述符和文件指针

    在linux当中,每个进程会在进程控制块(PCB)当中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表都有一个指 向已经打开文件的指针。 每个linux进程都应该有三个标准的文件描述符,对应三个标准流。 ...

    Linux编写内核模块新增系统调用遍历进程树--基于Ubuntu20.04.03LTS实现

    利用该系统调用能够遍历系统当前所有进程的任务描述符,并按进程父子关系将这些描述符所对应的进程id(PID)组织成树形结构显示。 实验环境: Ubuntu 20.04.03 LTS,Kernel Version 5.13.0(截至2022年2月18日Ubuntu...

    UNIX Linux实验教程 4实验四Linux进程间通信.doc

    套接口是指一种特殊的文件描述符,用于多个进程之间的通信。全双工管道是指一个双向通信的管道,允许两个进程之间双向通信。 UNIX/Linux 操作系统提供了一组丰富的进程间通信机制,满足了多种不同的应用场景。

    system()改写

    不会关闭从父进程继承过来的文件描述符 如果使用system()调用生命期短的进程一般问题不大,如果调用一个生命期比主进程还长的进程肯定有问题,比如在主进程中打开了一个socket并绑定了一个固定的端口,然后用system...

    Linux进程文件1

    1. 进程级文件描述符表(file descriptor table) 2. 访问模式,由 open()调用设置,例如:只读、只写或读写等 1. 文件类型(fi

    嵌入式Linux应用程序开发详解06-文件IO编程.pdf

    在 Linux 中,每个进程都有一个文件描述符表,用于记录打开的文件。 3. 文件操作:文件操作包括打开、读取、写入、关闭等。这些操作都是通过系统调用来实现的。 4. 文件类型:Linux 中的文件可以分为普通文件、...

    Linux操作系统进程管理相关知识

    * lsof 命令:用于查看当前系统中打开的文件描述符和网络连接。 * top 命令:用于查看进程信息的动态变化,包括 CPU 占用率、内存占用率、swap 占用率等。 * pstree 命令:用于查看进程间的相关性和依赖关系。 2. ...

    笔记_Linux编程.doc

    3\若在同一进程中,用两种方式打开不同文件(或先关闭再打开另一个),所用的文件打开表是同一个,但是在文件打开表中的文件描述符是不同的。 重要函数 fileno(fp) //得到文件指针所指向的文件打开表文件描述符。 ...

Global site tag (gtag.js) - Google Analytics