如何让PHP脚本在后台运行而不受终端关闭的影响?(不受.终端.脚本.后台.运行...)

wufei123 发布于 2025-03-24 阅读(22)

如何让php脚本在后台运行而不受终端关闭的影响?

如何让PHP脚本在后台持续运行?

许多PHP脚本需要在后台持续运行,不受终端关闭的影响。例如,一个简单的PHP脚本(例如s.php):

<?php
cli_set_process_title('queue-server');

while(true) {
    // ... 你的代码 ...
}
?>

直接使用php s.php运行,终端关闭后脚本也会停止。 要实现类似workerman -d的后台运行效果,需要借助系统命令,而非PHP本身的功能。PHP解释器本身不具备守护进程管理能力,而Workerman等工具是构建于PHP之上的应用,自带后台运行机制。

要让PHP脚本在后台运行,可以使用nohup命令:

nohup php s.php 2>&1 &

此命令将s.php脚本置于后台运行。2>&1将标准错误输出重定向到标准输出,&将进程放入后台。即使关闭终端,脚本仍会继续执行。

需要注意的是,PHP和Workerman是不同的工具,不能直接比较。Workerman、Docker、Redis、Nginx等是应用层工具,自带后台运行配置。PHP作为脚本语言,不负责管理守护进程。 如需更复杂的后台运行逻辑,可在PHP脚本中自行实现守护进程。

以上就是如何让PHP脚本在后台运行而不受终端关闭的影响?的详细内容,更多请关注知识资源分享宝库其它相关文章!

标签:  不受 终端 脚本 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。