nohup
(no hang-up)命令在 Linux 中用于在后臺運行程序,即使關閉終端或斷開連接,程序也會繼續運行
使用 nohup
命令啟動程序:
nohup your_command &
這將在后臺運行 your_command
,并將輸出重定向到名為 nohup.out
的文件。
創建一個 shell 腳本,例如 run_my_command.sh
,并在其中添加以下內容:
#!/bin/bash
while true; do
nohup your_command > /dev/null 2>&1 &
wait $!
echo "Restarting your_command in 5 seconds..."
sleep 5
done
這個腳本將無限循環地運行 your_command
,并在每次執行完成后等待 5 秒鐘。> /dev/null 2>&1
將輸出重定向到 /dev/null
,這樣你就不會看到任何輸出。
為腳本添加可執行權限:
chmod +x run_my_command.sh
使用 nohup
命令運行腳本:
nohup ./run_my_command.sh &
這將在后臺運行 run_my_command.sh
,即使關閉終端或斷開連接,程序也會繼續運行并自動重啟 your_command
。
請注意,這種方法僅適用于簡單的用例。對于更復雜的任務管理和監控,你可能需要考慮使用進程管理器(如 systemd
、supervisord
或 pm2
)。