对非交互式用户强制使用 nproc ulimit

对非交互式用户强制使用 nproc ulimit

我有一个可以通过 php-fpm 同时启动 n 次的脚本。php-fpm 池设置为在某个用户名下运行,我想限制该用户名可以启动的进程数。

ps aux|grep fpm
root     7165  0.0  0.0 849288 27872 ?  Ss 05:47   0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
myuser   7167  4.6  0.1 872512 77148 ?  S  05:47   0:31 php-fpm: pool myapp  #pool I want to limit
www-data 7172  0.2  0.1 863248 62904 ?  S  05:47   0:01 php-fpm: pool www    #default pool

通过 php-fpm 启动的进程如下:

37192 myuser 20   0  347m  53m  10m S   13  0.1   0:00.38 php -f /var/www/html/myscript.php

它在 Ubuntu 上。我已经设置了/etc/security/limits.conf

myuser   soft    nproc           10
myuser   hard    nproc           10

并且还包括session required pam_limits.so/etc/pam.d/common-session-noninteractive不适用以下限制:

cat /proc/$(ps aux|grep "php -f /var/www/html/myscript"|awk '{print $2}'|head -n1)/limits

Limit                     Soft Limit           Hard Limit           Units
Max processes             385951               385951               processes

如果我以用户身份执行此操作,它将起作用:

su -s /bin/bash myuser

ulimit -u
10

是什么赋予了?

相关内容