nohup
命令本身不能直接用于定時任務,但它可以與 while
循環和 sleep
命令結合使用來實現定時任務的功能
while true; do
nohup python your_script.py > /dev/null 2>&1 &
sleep 60 # 每隔 60 秒執行一次腳本
done
這個腳本會無限循環地執行 your_script.py
,并在每次執行后等待 60 秒。nohup
命令確保腳本在后臺運行,即使你關閉終端窗口也不會停止執行。
然而,使用這種方法實現定時任務并不是最佳實踐。一個更優雅的方法是使用 cron
定時任務。你可以編寫一個簡單的 shell
腳本,然后使用 crontab
來設置定時任務。例如:
#!/bin/bash
while true; do
nohup python your_script.py > /dev/null 2>&1 &
sleep 60
done
將此腳本保存為 run_script.sh
,然后通過以下命令使其可執行:
chmod +x run_script.sh
接下來,打開 crontab
編輯器:
crontab -e
在編輯器中添加一行,設置定時任務的時間間隔和腳本路徑。例如,要每隔 60 秒執行一次腳本,可以添加以下內容:
*/60 * * * * /path/to/your/run_script.sh
保存并退出編輯器?,F在,定時任務已經設置好了。請注意,這種方法仍然使用了 nohup
,但它與 cron
結合使用,使得定時任務的設置和管理更加方便。