当前位置: 技术问答>linux和unix
关于文件描述符问题
来源: 互联网 发布时间:2017-02-26
本文导语: 我看UNIX环境高级编程第三章文件描述符那有点不太懂,书上说0表示标准输入相关,1表示标准输出相关,2表示标准出错相关,那么3呢?4呢?再看书后面的那个图,文件描述符后半部分是文件指针,如果一个进程同时...
我看UNIX环境高级编程第三章文件描述符那有点不太懂,书上说0表示标准输入相关,1表示标准输出相关,2表示标准出错相关,那么3呢?4呢?再看书后面的那个图,文件描述符后半部分是文件指针,如果一个进程同时以标准输入打开两个文件,那么描述符0后面的文件指针怎么办呢,要是两个文件指针的话,那些函数怎么工作呢,close和lseek等函数的参数都是文件描述符。
|
不是一个进程不能同时打开两个文件,而是不能用标准输入去打开。标准输入是系统的资源,系统定义的文件描述符。你另外打开一个文件就会有新的文件描述符产生,跟标准输入没关系。
linux把所有的设备都当做文件,系统就把标准输入当做一个文件来处理,这个文件的描述符就是0. 这个文件和你其他的文件没直接的关系。楼主不要混淆了。