我有3个脚本可以做一些事情。 我想连续并同时运行它们。
我们举个例子说: 第一个脚本需要30分钟才能完成。 第二 - 20分钟。 第三 - 5分钟。
所以我需要他们每个人在完成后立即运行。 3个脚本在同一个DB中进行UPDATE,但它们需要单独工作。 他们可以一次跑,但不是几次(我的英语很糟糕,抱歉)。 让我们用例子来解释我的意思:
firstScript.php is running
secondScript.php is running
thirdScript.php is running
firstScript.php trying to start but it still running. Wait.(till finish)
可能有些shell脚本会做这个工作,但是怎么做?
答案 0 :(得分:3)
创建一个带有一个参数的bash脚本,并让它执行以下操作:
if [ -f /tmp/$1 ]
then
echo "Script already running"
else
touch /tmp/$1
php $1
rm /tmp/$1
fi
设置一个cron来运行这个脚本并将它传递给你想要运行的php脚本的名称。
答案 1 :(得分:0)
你可以在php脚本死之前执行shell命令。示例:
while($i < 1000)
{
$i++;
}
shell_exec("bin/php.exe some_script.php");
如果您正在使用共享主机帐户,则可能无法解决安全问题。 请注意,需要为您的服务器编辑“bin / php.exe”,指向安装php的位置。