首页 > 后端开发 > php教程 > 如何在不阻塞脚本的情况下异步运行 PHP 命令?

如何在不阻塞脚本的情况下异步运行 PHP 命令?

Barbara Streisand
发布: 2024-12-17 21:08:11
原创
235 人浏览过

How Can I Run PHP Commands Asynchronously Without Blocking the Script?

运行 PHP 命令而不等待结果

要执行 PHP 命令而不等待其结果,必须将命令设计为不发送输出回 PHP 脚本。这可以通过将标准输出(stdout)和标准错误(stderr)重定向到“/dev/null”并在后台执行命令来实现。

以下命令可以完成此操作:

> /dev/null 2>&1 &
登录后复制

要将命令作为独立进程执行,独立于 Apache 线程,可以使用以下命令:

exec('bash -c "exec nohup setsid your_command > /dev/null 2>&1 &"');
登录后复制

此命令将:

  • 执行 Bash shell 命令。
  • 在 Bash shell 中启动指定的命令(“your_command”)。
  • 将 stdout 和 stderr 重定向到“/ dev/null"。
  • 使用“nohup”使命令成为一个独立的进程,并且"setsid."

通过利用这些技术,PHP 可以在不阻塞脚本或 Apache 线程的情况下执行命令,并继续处理后续命令。

以上是如何在不阻塞脚本的情况下异步运行 PHP 命令?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板