在 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 命令,从而在后台运行你的程序。输出将被记录到指定的日志文件中,即使关闭终端或断开连接,程序也会继续运行。