文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。但是文件描述符这一概念往往只适用于Unix、Linux这样的操作系统。 习惯上,标准输入(standard input)的文件描述符是 0,标准输出(standard output)是 1,标准错误(standard error)是 2。尽管这种习惯并非Unix内核的特性,但是因为一些 shell 和很多应用程序都使用这种习惯,因此,如果内核不遵循这种习惯的话,很多应用程序将不能使用。
个人理解概念:
1.表示形式为整数数字,一般使用(0-65535)范围
2.进程使用的时候会占用文件描述符(标识打开的文件)
查看默认文件描述符:
ulimit –n
![](https://i-blog.csdnimg.cn/blog_migrate/339d727b8e6195688e305659ad89ed02.png)
调整文件描述符:
ulimit –SHn 65535 //临时生效
![](https://i-blog.csdnimg.cn/blog_migrate/77339de106450122da7cb0e95566a4a2.png)
永久生效:
方法一
直接把ulimit –SHn 65535 命令加入到/etc/rc.local,然后每次开机启动的时候生效。
cat >>/etc/rc.local<<s
ulimit –SHn 65535
s
方法二:
echo ‘* - nofile 65535’ >>/etc/security/limits.conf
tail –l /etc/security/limits.conf
ctrl+d //退出一下
ulimit -n