0%

套接字和文件描述符-下

文件描述符

内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符在形式上是非负整数,实际上是一个索引值。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。

Linux 系统中,把一切都看做是文件,当进程打开现有文件或创建新文件时,内核向进程返回一个文件描述符,文件描述符就是内核为了高效管理已被打开的文件所创建的索引,用来指向被打开的文件,所有执行I/O操作的系统调用都会通过文件描述符。

文件描述符的限制

用户级别的限制,单个进程的文件描述符:ulimit -n

系统级别的限制:cat /proc/sys/fs/file-max 或者 sysctl -a | grep -i “file-max”

参考

文件描述符(File Descriptor)简介:https://segmentfault.com/a/1190000009724931