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

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...