在 Linux 中,nohup
命令用于在后臺運行程序,即使關閉終端或注銷用戶,程序也會繼續運行
以下是使用 nohup
和 cron
進行定時任務的步驟:
my_script.sh
,并在其中添加你想要定時執行的命令。確保腳本具有可執行權限,可以使用 chmod +x my_script.sh
命令。#!/bin/bash
# my_script.sh
echo "Hello, World! This is a test."
使用 crontab -e
命令編輯當前用戶的 crontab 文件。這將打開一個文本編輯器,你可以在其中添加定時任務。
在 crontab 文件中,添加一行,指定任務的執行時間和要運行的腳本。cron
的時間格式為:* * * * *
,分別表示 分、時、日、月、星期。例如,如果你想每天凌晨 1 點運行 my_script.sh
,可以添加以下行:
0 1 * * * /path/to/your/my_script.sh
將 /path/to/your/
替換為腳本所在的實際路徑。
保存并退出 crontab 文件?,F在,你的定時任務已經設置好了。你可以使用 crontab -l
命令查看當前用戶的定時任務列表。
如果你想在后臺運行腳本并忽略掛起信號,可以在 crontab 文件中的命令前加上 nohup
和 &
。例如:
0 1 * * * nohup /path/to/your/my_script.sh &
這樣,即使關閉終端或注銷用戶,定時任務也會繼續運行。
注意:使用 nohup
運行的程序會將輸出重定向到名為 nohup.out
的文件。如果你想將輸出重定向到其他文件,可以在命令后添加 >
和文件路徑,例如:
0 1 * * * nohup /path/to/your/my_script.sh > /path/to/output.log 2>&1 &
這將把標準輸出和錯誤輸出都重定向到 output.log
文件。