VM或Server有時會因不明原因自行關閉並重啟,藉由設定自動運行腳本,以便重啟後能自動開啟所需程式。以下採用Ubuntu
做說明,該處不推薦Windows
,因重啟後會停在使用者登入畫面,即便已設定自動進入桌面,還是需要等到使用者連線進VM後才能讓系統進入桌面。
sudo vi ~/project_directory/example.sh
寫入內容(激活虛擬環境並啟動程式,以anacona3為例)
source anaconda3資料夾路徑/etc/profile.d/conda.sh
conda activate 虛擬環境名稱
cd ~/project_directory
python xxx.py
修改權限
sudo chmod 755 ~/project_directory/example.sh
Ubuntu較新版本可能沒有/etc/rc.local
,如有可直接啟用服務,否則需手動創建
sudo vi /etc/systemd/system/rc-local.service
寫入內容(相關設定)
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
sudo vi /etc/rc.local
寫入內容(自動運行腳本路徑)
#!/bin/bash
~/project_directory/example.sh
修改權限
sudo chmod 755 /etc/rc.local
sudo systemctl enable rc-local
sudo systemctl status rc-local
https://marsown.com/wordpress/how-to-enable-etc-rc-local-with-systemd-on-ubuntu-20-04/
rc-local
anaconda3