在Debian系統中,要使用nohup
命令自動運行腳本,你可以將命令添加到系統的啟動腳本中。以下是一些常見的方法:
/etc/rc.local
編輯/etc/rc.local
文件:
打開終端并輸入以下命令來編輯rc.local
文件:
sudo nano /etc/rc.local
添加啟動命令:
在exit 0
之前添加你的nohup
命令。例如,如果你想運行一個名為my_script.sh
的腳本,可以這樣寫:
nohup /path/to/my_script.sh &
確保腳本具有可執行權限:
chmod +x /path/to/my_script.sh
保存并退出:
按Ctrl+X
,然后按Y
確認保存,最后按Enter
退出。
重啟系統: 重啟系統以驗證腳本是否自動運行:
sudo reboot
systemd
服務創建一個新的服務文件:
創建一個新的服務文件,例如/etc/systemd/system/my_script.service
:
sudo nano /etc/systemd/system/my_script.service
添加服務配置: 在文件中添加以下內容:
[Unit]
Description=My Script Service
After=network.target
[Service]
ExecStart=/usr/bin/nohup /path/to/my_script.sh &
Restart=always
User=your_username
[Install]
WantedBy=multi-user.target
重新加載systemd
配置:
保存并退出編輯器后,重新加載systemd
配置:
sudo systemctl daemon-reload
啟用服務: 啟用服務以便在系統啟動時自動運行:
sudo systemctl enable my_script.service
啟動服務: 立即啟動服務:
sudo systemctl start my_script.service
檢查服務狀態: 檢查服務是否正在運行:
sudo systemctl status my_script.service
cron
的@reboot
編輯用戶的crontab
文件:
打開終端并輸入以下命令來編輯當前用戶的crontab
文件:
crontab -e
添加啟動任務: 在文件末尾添加以下行:
@reboot nohup /path/to/my_script.sh &
保存并退出:
按Ctrl+X
,然后按Y
確認保存,最后按Enter
退出。
重啟系統: 重啟系統以驗證腳本是否自動運行:
sudo reboot
選擇適合你需求的方法來設置nohup
自動運行腳本。通常,使用systemd
服務是最推薦的方法,因為它提供了更多的控制和靈活性。