悠悠楠杉
网站页面
nohup命令结合screen
或tmux
来确保脚本即使在关闭终端后也能继续运行。
首先,确保你的系统上安装了PHP和必要的库(如Composer,如果需要的话),以及安装了screen
或tmux
。以下是如何设置和运行的步骤:
假设你有一个PHP脚本generate_articles.php
,这个脚本接受一些参数(如标题、关键词、描述、正文)来生成文章。
screen
或 tmux
运行脚本screen
:screen -S article_generator
来创建一个新的会话。screen
会话中,运行你的PHP脚本:php generate_articles.php 参数1 参数2 参数3
。确保传递所有必要的参数。Ctrl + A
然后按 d
来脱离screen
会话。这会使你的脚本在后台运行。tmux
:tmux new -s article_generator
来创建一个新的会话。tmux
会话中,同样运行你的PHP脚本:php generate_articles.php 参数1 参数2 参数3
。Ctrl + B
然后按 D
来脱离tmux
会话。这同样会使你的脚本在后台运行。nohup
确保即使关闭终端也能运行虽然使用screen
或tmux
已经可以使你的脚本在后台运行,但如果你还希望即使关闭终端也能继续运行,可以结合使用nohup
:
nohup php generate_articles.php 参数1 参数2 参数3 &
来运行你的脚本。这会启动你的PHP脚本,并且即使你关闭终端,它也会继续在后台运行。> output.log 2>&1 &
到命令的末尾,这样标准输出和错误输出都会被写入到output.log
文件中。为了确保脚本持续运行,你可以设置一个cron job来定期检查脚本是否还在运行,如果不是,则重新启动它。
```bash
*/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分钟检查一次,如果脚本没有运行,则重新启动它。请根据实际情况调整路径和频率。