linux – 如何增加在无头用户下运行的守护程序进程的最大FD限制?

为了增加在Ubuntu Linux机器上无头用户下运行的守护程序进程的FD限制,我们在/etc/security/limits.conf中进行了以下更改
soft nofile 10000
hard nofile 10000

我们还在/etc/pam.d/login中添加了所需的会话pam_limits.so.这些更改已反映给已注销并再次登录的所有用户.无论在这些用户下开始什么新流程都会获得新的FD限制.

但是对于在无头用户下运行的守护进程,更改没有得到反映.在无头用户下运行的守护进程可以反映更改的方式是什么?

解决方法

问题出在守护进程的启动脚本中.它使用setuidgid在无头用户下运行守护进程.像setuidgid这样的内容将不会在更改进程的用户/组时安装limits.conf中设置的资源限制.守护进程应该通过其启动脚本来为自己设置资源限制.通过在启动脚本中设置当前会话的最大FD限制,为守护程序反映了新的限制.这是通过在守护程序的lauching脚本中插入如下所示的ulimit -n行来完成的.
ulimit -n $NEW_MAX_LIMIT
exec setuidgid userxyz /pat/to/daemon.sh

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...