debian設定開機自啟動的方法很多,個人覺得編輯/etc/rc.local配置最簡單有效。
| 代碼如下 |
複製代碼 |
sudo vi /etc/rc.local 在exit 0之前添加軟體啟動命令。如: /usr/local/bin/sslocal -c /etc/shadowsocks.json |
儲存檔案,重啟系統即可生效
有人如果是要把服務添加進去我們可以參考下面方法
添加自啟動服務
1. 建立指令檔
在 /etc/init.d 下加入指令檔
| 代碼如下 |
複製代碼 |
sudo vi /etc/init.d/aria2c 輸入內容: #!/bin/sh ### BEGIN INIT INFO # Provides: Aria2 # Required-Start: $network $local_fs $remote_fs # Required-Stop:: $network $local_fs $remote_fs # Should-Start: $all # Should-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Aria2 - Download Manager # Description: Aria2 - Download Manager ### END INIT INFO NAME=aria2c USER=pi ARIA2C=/usr/bin/$NAME PIDFILE=/var/run/$NAME.pid CONF=/home/$USER/.aria2/aria2.conf ARGS="--conf-path=${CONF}" test -f $ARIA2C || exit 0 . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting aria2c" "aria2c" start-stop-daemon -S -q -b -m -p $PIDFILE -c $USER -a $ARIA2C -- $ARGS log_end_msg $? ;; stop) log_daemon_msg "Stopping aria2c" "aria2c" start-stop-daemon -K -q -p $PIDFILE log_end_msg $? ;; restart|reload|force-reload) log_daemon_msg "Restarting aria2c" "aria2c" start-stop-daemon -K -R 5 -q -p $PIDFILE start-stop-daemon -S -q -b -m -p $PIDFILE -c $USER -a $ARIA2C -- $ARGS log_end_msg $? ;; status) status_of_proc -p $PIDFILE $ARIA2C aria2c && exit 0 || exit $? ;; *) log_action_msg "Usage: /etc/init.d/aria2c {start|stop|restart|reload|force-reload|status}" exit 2 ;; esac exit 0 |
以上指令碼 ### BEGIN INIT INFO - ### END INIT INFO 為啟動指令碼需要定義的 metadata 資訊,不定義會報錯
啟用指令碼使用 start-stop-daemon 命令,參數為:
-S, --start 啟動服務
-K, --stop 停止服務
-q, --quiet 靜默啟動,不輸出日誌
-b, --background 後台啟動
-m, --make-pidfile 建立 pid 檔案
-p, --pidfile 指定 pid 檔案
-c, --chuid 指定啟動使用者
-a, --startas pathname 進程路徑
-R, --retry timeout|schedule 重試次數
需要將 USER 修改為自己的使用者名稱稱
設定檔位於 /home/$USER/.aria2/aria2.conf
更多參數含義可以通過 man start-stop-daemon 進行查看
| 代碼如下 |
複製代碼 |
修改指令碼許可權 sudo chmod +x /etc/init.d/aria2c 測試指令碼 sudo /etc/init.d/aria2c start sudo /etc/init.d/aria2c status sudo /etc/init.d/aria2c stop sudo /etc/init.d/aria2c status sudo /etc/init.d/aria2c restart 2. 使用 insserv 設定自動啟動 添加服務 sudo insserv /etc/init.d/aria2c #添加服務 sudo insserv -r /etc/init.d/aria2c #刪除服務 重啟測試 sudo reboot sudo /etc/init.d/aria2c status |