首页 > 解决方案 > CentOS + PHP:shell_exec 限制的进程

问题描述

我有一个httpd进程正在运行(只是apache2),使用 PHP。在index.php我的文件中有以下代码:

echo shell_exec("sudo -u apache python3 /root/folder/script.py 2>&1");

哪个应该执行一个程序(它做得很好)。该程序需要大约 40 秒才能返回一些东西,所以需要一点时间。我创建了另一个多线程的 python 程序。它同时向 url 发出 400 次请求,这应该启动 400 个进程。

当我运行命令top -c时,我看到 CPU 只有 9%,而应该更高。我尝试了下一个命令,ps xa | grep apache | wc -l. 这将返回 101 个进程,我已多次执行该命令,并且始终为 101。

在我执行命令之前ps xa | grep apache | wc -l,我首先犯了一个错误并尝试了ps xa | grep apache2 | wc -l,我没有运行 apache2,但这仍然给了我数字 1。所以我的理论是 101 - 1 = 100。这是一个太漂亮的数字。

所以这应该是某种类型的最大值/限制/上限。我在哪里可以配置这个?

谢谢你的时间

===== 编辑 =====

我认为它对请求进行排队,而当我登录服务器并手动运行 python 脚本时,该脚本正常工作,没有任何减速等。

标签: phpapachecentos

解决方案


推荐阅读