TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码

nohup在后台常驻运行php脚本

2025-07-02
/
0 评论
/
3 阅读
/
正在检测是否收录...
07/02

nohup命令结合screentmux来确保脚本即使在关闭终端后也能继续运行。

首先,确保你的系统上安装了PHP和必要的库(如Composer,如果需要的话),以及安装了screentmux。以下是如何设置和运行的步骤:

1. 编写PHP脚本

假设你有一个PHP脚本generate_articles.php,这个脚本接受一些参数(如标题、关键词、描述、正文)来生成文章。

2. 使用 screentmux 运行脚本

使用 screen:

  1. 打开终端。
  2. 输入 screen -S article_generator 来创建一个新的会话。
  3. screen会话中,运行你的PHP脚本:php generate_articles.php 参数1 参数2 参数3。确保传递所有必要的参数。
  4. Ctrl + A 然后按 d 来脱离screen会话。这会使你的脚本在后台运行。

使用 tmux:

  1. 打开终端。
  2. 输入 tmux new -s article_generator 来创建一个新的会话。
  3. tmux会话中,同样运行你的PHP脚本:php generate_articles.php 参数1 参数2 参数3
  4. Ctrl + B 然后按 D 来脱离tmux会话。这同样会使你的脚本在后台运行。

3. 使用 nohup 确保即使关闭终端也能运行

虽然使用screentmux已经可以使你的脚本在后台运行,但如果你还希望即使关闭终端也能继续运行,可以结合使用nohup

  1. 打开一个新的终端窗口或标签页。
  2. 输入 nohup php generate_articles.php 参数1 参数2 参数3 & 来运行你的脚本。这会启动你的PHP脚本,并且即使你关闭终端,它也会继续在后台运行。
  3. (可选)为了使输出重定向到文件中,你可以添加 > output.log 2>&1 & 到命令的末尾,这样标准输出和错误输出都会被写入到output.log文件中。

4. 监视和重启

为了确保脚本持续运行,你可以设置一个cron job来定期检查脚本是否还在运行,如果不是,则重新启动它。

```bash

在crontab中添加以下行(通过运行 crontab -e)

*/5 * * * * /usr/bin/php /path/to/your/script/generate_articles.php > /dev/null 2>&1 || ( cd /path/to/your/script && nohup php generate_articles.php > output.log 2>&1 & )
```
这个cron job每5分钟检查一次,如果脚本没有运行,则重新启动它。请根据实际情况调整路径和频率。

朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/31523/(转载时请注明本文出处及文章链接)

评论 (0)