11.1文件描述符0、1、2
11.1文件描述符
文件描述符:是内核为了高效管理已被打开的文件所创建的索引,用于被打开的文件,所有执行 I/O 操作的系统调用都通过文件描述;文件描述符是一个简单的非负整数,用以表明每一个被进程所打开的文件,程序刚刚启动的时候,第一个打开的文件是 0,第二个打开的是 1,以此类推。也可以理解为是一个文件的身份 ID
用户通过操作系统处理信息的过程中,使用的交互设备文件(键盘,鼠标,显示器)
11.1.1 输入输出标准说明
STDIN 标准输入 默认的设备是键盘 文件编号为:0
STDOUT 标准输出 默认的设备是显示器 文件编号为:1,也可以重定向到文件
STDERR 标准错误 默认的设备是显示器 文件编号为:2,也可以重定向到文件
查看一个进程打开的哪些文件:
语法:ll /proc/进程 ID/fd
注:蓝色的0,1,2,255 就是文件的描述符。一个进程启动时,都会打开 3个文件:标准输入、标准输出、标准错处理。这3个文件分别对应文件描述符为0、1、2 也就是宏替换 STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO。
/proc/进程 ID/fd # 这个 fd 目录下,专门存文件描述符
注:对文件描述符的操作就是对文件本身的操作。可以直接通过操作文件描述来修改文件。
例1:查看和临时设置一个进程最多可以打开几个文件,即:一个进程可以打开的文件描述符限制
命令:ulimit -n 指定同时打开的文件数