在 CentOS 中,nohup 命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。而 cron 是一个定时任务调度器,用于定期执行指定的命令或脚本。要将这两者结合使用,你可以在 crontab 中设置一个定时任务,使用 nohup 命令在后台运行你的程序。
以下是如何将 nohup 与 cron 结合使用的步骤:
-
打开终端。
-
输入
crontab -e命令以编辑当前用户的crontab文件。如果这是你第一次使用crontab,它可能会提示你选择一个文本编辑器。 -
在打开的
crontab文件中,添加一行,指定任务的执行时间和要运行的命令。使用nohup命令将程序放入后台运行,并将输出重定向到一个日志文件。例如,如果你想每天凌晨 1 点运行名为my_script.sh的脚本,可以添加以下行:
0 1 * * * nohup /path/to/your/my_script.sh > /path/to/your/output.log 2>&1 &
这里的 0 1 * * * 表示每天凌晨 1 点执行任务。/path/to/your/my_script.sh 是你要运行的脚本的路径,/path/to/your/output.log 是输出日志文件的路径。2>&1 表示将标准错误输出重定向到标准输出,& 表示将命令放入后台运行。
- 保存并关闭
crontab文件。
现在,你的任务已经设置好了,cron 将根据指定的时间运行 nohup 命令,从而在后台运行你的程序。输出将被记录到指定的日志文件中,即使关闭终端或断开连接,程序也会继续运行。