当前位置: 技术问答>linux和unix
socket() error: Too many open files
来源: 互联网 发布时间:2015-05-27
本文导语: 自己写的socket程序提示了以上错误。 请教各位大侠:我如何知道此时我打开的socket的数目?如何知道我打开了哪些port?同时如何修改系统能打开的最大数目? 谢谢!! | open之后要记得close...
自己写的socket程序提示了以上错误。
请教各位大侠:我如何知道此时我打开的socket的数目?如何知道我打开了哪些port?同时如何修改系统能打开的最大数目?
谢谢!!
请教各位大侠:我如何知道此时我打开的socket的数目?如何知道我打开了哪些port?同时如何修改系统能打开的最大数目?
谢谢!!
|
open之后要记得close,要不然达到系统支持的最大socket数目,就会出现上面的错误了
|
我如何知道此时我打开的socket的数目?如何知道我打开了哪些port?
这两个好办吧。
同时如何修改系统能打开的最大数目?
setrlimit
ulimit
这两个好办吧。
同时如何修改系统能打开的最大数目?
setrlimit
ulimit
|
什么平台?
|
用netstat
在linux下可以用netstat -p 看到打开端口的程序
在linux下可以用netstat -p 看到打开端口的程序
|
好办,那如何办?
进程控制块 可获得 sock fd;
socket 函数 可获得 sock结构 然后 端口
简单点 用个变量记录 方便些
进程控制块 可获得 sock fd;
socket 函数 可获得 sock结构 然后 端口
简单点 用个变量记录 方便些
|
listen函数的第二个参数可以指定最大连接数
|
楼上的不对,最大连接数是系统参数。
看socket的数目,可以去/proc/youdir/fd目录下, 用 ls -l 看看。
看socket的数目,可以去/proc/youdir/fd目录下, 用 ls -l 看看。
|
看socket的数目,可以去/proc/yourpid/fd目录下, 用 ls -l 看看。