在介绍如何查看及修改linux中的文件描述符之前,先来个有关文件描述符的知识普及。
在Linux系统中,当某个程序打开文件时,操作系统返回相应的文件描述符,程序为了处理该文件必须引用此描述符。
所谓的文件描述符是一个低级的正整数。
最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。
因此,函数 scanf() 使用 stdin,而函数 printf() 使用 stdout。
可以用不同的文件描述符改写默认的设置并重定向进程的 I/O 到不同的文件。
文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件和socket。
第一个打开的文件是0,第二个是1,依此类推。
Unix 操作系统通常给每个进程能打开的文件数量强加一个限制。另外,unix 通常有一个系统级的限制。
有了以上有关文件描述符的介绍,下面我们介绍下查看与修改文件描述符的方法。
1,查看Linux系统当前的文件描述符
可见,当前系统下的文件描述符为:1024。
2,修改linux系统的文件描述符
1)、修改文件描述符,可以用命令:ulimit -HSn。
例如,将文件描述符修改为:65535,如下:
修改完成后,再次查看当前linux系统的文件描述符,显示如下:
可见,已经修改为65535了。
2)、如果想让修改永久生效,可以这样做:
将命令:ulimit -HSn 65535加入到/etc/rc.local文件中,如下所示:
这样即便系统重启,对于文件描述符的修改也不会改变了。
3)、通过修改limits.conf文件
编辑/etc/security/limits.conf 文件,在最后加入如下两行
或者使用下列命令直接插入:
无需重启,即时生效。
就介绍这些吧,希望有助于大家掌握linux中文件描述符的相关内容。
脚本学堂,祝大家学习进步。
您可能感兴趣的文章:
linux下设置文件描述符的方法
深入理解linux文件描述符fd和文件指针flip(图文)
linux文件描述符与输入输出重定向