gpt4 book ai didi

PHP shell_exec 等待脚本完成?

转载 作者:行者123 更新时间:2023-12-04 23:35:32 36 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





PHP shell_exec wait for script to finish? [duplicate]

(1 个回答)


7年前关闭。




我有一个 PHP 脚本,它查询数据库以获取要完成的作业列表,并根据它在数据库中找到的内容(基本上是一个进程队列)触发其他 PHP 脚本。

队列运行器脚本执行的某些脚本可能需要 30 秒左右才能完成运行(转换视频、调整图像大小等)。

问题是队列运行器脚本中的 shell_exec() 调用处理脚本,但不等待它们完成,导致队列未完成。

队列运行器脚本:

#!/usr/bin/php
<?php
// Loop through database and find jobs to be done
shell_exec("nohup $command > /dev/null 2> /dev/null & echo $! &");
?>

直接从命令行运行作业脚本可以工作并创建 PDF。

有想法该怎么解决这个吗?还是运行进程队列的更好方法?

最佳答案

shell_exec 不是你的问题的原因。它会等待并返回您的命令的输出。但是,您不能在后台启动命令并使用 诺哈普 .

诺哈普是您正在调用的命令,但是一旦它启动了它的子进程,它将立即退出,因此, shell_exec 不会等待该过程完成。您还应该避免在后台运行带有 的命令。 & .

关于PHP shell_exec 等待脚本完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11524063/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com