ulimit(UL_GDESLIM,0)如何选择工作?
发布时间:2020-12-13 23:25:06 所属栏目:Linux 来源:网络整理
导读:我们正在将我们的C应用程序从Solaris 8迁移到Solaris 10.我在Solaris 10上运行此代码时遇到错误.我正在使用32位 gcc编译器. nFDs = ulimit(UL_GDESLIM,0);n=select(nFDs,set,NULL,NULL); 错误: Error : GetKey_(): select(): Invalid argument 我知道为什么
我们正在将我们的C应用程序从Solaris 8迁移到Solaris 10.我在Solaris 10上运行此代码时遇到错误.我正在使用32位
gcc编译器.
nFDs = ulimit(UL_GDESLIM,0); n=select(nFDs,&set,NULL,NULL); 错误: Error : GetKey_(): select(): Invalid argument 我知道为什么我得到这个错误,因为nFD超过1024. #ifdef _LP64 #define FD_SETSIZE 65536 #else #define FD_SETSIZE 1024 你能给我指针ulimit(UL_GDESLIM,0)和选择是如何工作以及我需要修复哪个头? 解决方法
从Oracle的文档中可以看出,Solaris遵循的最大文件描述符存在“硬限制”.但是,可以通过将以下行添加到/ etc / system并重新启动来更改:
set rlim_fd_max = 65536 上面的行将硬限制设置为65536.一旦设置了此硬限制,您就可以使用ulimit内核函数调用更改此属性的“running”值,或者如您在带有系统的C应用程序中显示的那样调用ulimit(…)并选择(…). 资源: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |