EXEC();或shell_exec();绩效问题

时间:2018-02-20 03:45:50

标签: php linux bash command

我正在尝试通过php exec()执行;一个bash文件,它运行基于curl循环脚本的进程。问题是我尝试过这些方法:

exec();
shell_exec();
sudo -S  nice -n -20
sudo -i
> /dev/null 2>/dev/null & (achro)

并通过PHP exec()启动进程;如果我直接在SSH控制台上手动运行它作为一个命令,那么curl的响应速度会慢一些。

我现在就这样:

start.php运行:

echo shell_exec('echo "password" | sudo -S  nice -n -20 ./new.sh > /dev/null 2>/dev/null &');

new.sh运行此

sudo -i /home/scripts/source/do.bat > /dev/null 2>/dev/null &

和do.bat运行此

cd /home/scripts/a/2
echo "" > output.txt
./check.bat & echo $! > check.pid
cd /home/scripts/a/6
echo "" > output.txt
./check.bat & echo $! > check.pid

当我在控制台直接执行./do.bat时,脚本运行速度非常快,卷曲响应就像我需要的那样一切正常,output.txt的输出速度也不错。

但是当我尝试用PHP exec()运行它时;卷曲响应变慢,并且不能按我的需要工作。另外你会问为什么我用start.php运行new.sh而不是直接用start.php运行do.bat?因为如果我这样做,我会得到一个非常奇怪的输出响应,-e写在文本上。

有人可以帮助我让它以相同的速度运行,就像我在控制台上手动运行命令一样吗?

0 个答案:

没有答案