通过 nohup 实现 php 脚本后台运行
如何让 php 脚本以后台运行?举例来说,当运行 php 脚本 cli 时,可以使用 ctrl c 终止进程。那么如何实现类似 workerman 的效果,通过添加 -d 参数直接后台执行呢?
解决方案:使用 nohup
nohup php s.php 2>&1 &
nohup:将进程与终端分离,即使终端关闭,进程也会继续运行。2>&1:将错误输出重定向到标准输出。&:将进程放入后台运行。
关于 nohup 和 workerman 的关系
workerman 和 php 是不同的工具。workerman 是使用 php 构建的应用程序,具有内置的后台运行配置。而 php 是一个脚本解释器,它的职责是运行 php 脚本。因此,php 本身不具备后台运行功能。
替代方案:在脚本中启动守护进程
如果需要在 php 脚本中启用守护进程,可以使用以下步骤:
- 创建一个守护进程类。在该类中实现 fork() 方法将进程分离。在脚本的主入口中,实例化守护进程类并调用 run() 方法。
以上就是如何用nohup实现PHP脚本后台运行并避免中断?的详细内容,更多请关注范的资源库其它相关文章!
转载请注明:范的资源库 » 如何用nohup实现PHP脚本后台运行并避免中断?