我正在运行一个 cron 并输出到我的 id 并作为输出低于:
/bin/sh: /usr/bin/php: 系统中打开的文件太多
Cron 每 5 分钟运行一次。
已检查/var/logs/cron并每 5 分钟执行一次 cron。
站点在服务器上运行良好。
这意味着您的系统在您的 php 或其他应用程序中用完了文件句柄。确保关闭您打开的任何文件以释放文件句柄。
对于正在运行的每个程序的句柄数,使用(以 root 身份):
for p in $(ps -A -o pid); do
nh=$(ls /proc/$p/fd 2>/dev/null | wc -l) &&
exe=$(readlink -f /proc/$p/exe 2>/dev/null) &&
echo "$p ($exe): $nh"
done
Run Code Online (Sandbox Code Playgroud)
要获得更详细的输出,请使用lsof.
您还可以通过修改/etc/security/limits.conf(影响更改为/proc/sys/fs/file-max)来增加可能的系统文件句柄的数量,并使用 减少当前终端会话的数量ulimit -n。