今天介绍下什么是文件描述符(File Description)
每天多知道一点点
由于是纯理论知识,所以分点来总结:
1、概念:文件描述符是操作系统内核用于管理已经打开的文件而创建的索引。它是一个非负整数
2、描述符 0 表示标准输入、1 是标准输出、2 是标准错误,所以新打开一个文件是从 3 开始索引
3、每个描述符一定会对应一个打开的文件,而不同的描述符(即索引值)也可能指向同一个打开的文件。原因是同一个文件可以在多进程中打开,而系统为每个进程都维护了一个文件描述符表,这个表都是从 0 开始索引的
4、重点:如何查看当前进程下文件描述符
代码语言:javascript复制#pid为进程号
/proc/$pid/fd
#lsof命令
COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称
5、文件描述限制,系统对可打开的文件是有作限制的,查看这个限制命令如下:
代码语言:javascript复制sysctl -a | grep fs.file-max
你点的每个赞,我都认真当成了喜欢