Hello! 欢迎来到小浪资源网!


如何用nohup实现PHP脚本后台运行并避免中断?


如何用nohup实现PHP脚本后台运行并避免中断?

通过 nohup 实现 php 脚本后台运行

如何让 php 脚本以后台运行?举例来说,当运行 php 脚本 cli 时,可以使用 ctrl c 终止进程。那么如何实现类似 workerman 的效果,通过添加 -d 参数直接后台执行呢?

解决方案:使用 nohup

nohup php s.php 2>&1 &
  • nohup:将进程与终端分离,即使终端关闭,进程也会继续运行。
  • 2>&1:将错误输出重定向到标准输出。
  • &:将进程放入后台运行。

关于 nohup 和 workerman 的关系

立即学习PHP免费学习笔记(深入)”;

workerman 和 php 是不同的工具。workerman 是使用 php 构建的应用程序,具有内置的后台运行配置。而 php 是一个脚本解释器,它的职责是运行 php 脚本。因此,php 本身不具备后台运行功能。

替代方案:在脚本中启动守护进程

如果需要在 php 脚本中启用守护进程,可以使用以下步骤:

  1. 创建一个守护进程类。
  2. 在该类中实现 fork() 方法将进程分离。
  3. 在脚本的主入口中,实例化守护进程类并调用 run() 方法。

相关阅读