内核(kernel)利用文件描述符(file descriptor)来访问文件,内核用文件描述符标识一个特定进程正在访问的文件.当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。当读、写一个文件时,使用 open 或 create 返回的文件描述符标识该文件,将其作为参数传送给 read 或 write。
按照惯例,UNIX 系统 shell 把文件描述符 0 与进程的标准输入(standard input)关联,文件描述符 1 与标准输出(standard output)关联,文件描述符 2 与标准错误(standard error)关联。
文件描述符的有效范围是 0 到 OPEN_MAX。一般来说,每个进程最多可以打开 64 个文件(0 — 63)。对于 FreeBSD 8.0、Linux 3.2.0、Mac OS X 10.6.8 以及 Solaris 10 来说,文件描述符的变化范围几乎是无限的,它只受系统配置的存储器总量、整型的字长以及系统管理员所配置的软限制和硬限制的约束。
默认的 Linux 进程的最大打开文件描述符数是 1024。但是在某些情况下这点文件描述符数是远远不够的,可根据需要进行更改。
---------------------
作者:聚优致成
来源:优快云
原文:https://blog.youkuaiyun.com/qq_29350001/article/details/65437279
版权声明:本文为博主原创文章,转载请附上博文链接!
相关扩展知识:句柄简单理解