Debian
在啟動時執行執行檔
對於我的生活,我無法讓它發揮作用。我在樹莓派上執行 Debian。
從 CLI 執行此命令:
/home/pi/domotiga/DomotiGaServer.gambas -d
執行我的家庭自動化伺服器。
我該如何在啟動時執行它?
我的 /etc/init.d 目錄中有一個文件確實已載入,但它不會啟動伺服器
文件內容:
#!/bin/bash ### BEGIN INIT INFO # Provides: domotigaserver # Required-Start: $syslog $mysql # Required-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: domotiga server # Description: # ### END INIT INFO #!/bin/bash # /etc/init.d/domotigaserver # # Carry out specific functions when asked to by the system case "$1" in start) su pi -c '/home/pi/domotiga/DomotiGaServer.gambas -d' echo "Starting DomotiGa Server " ;; stop) pkill DomotiGaServer.gambas echo "DomotiGa Server has been stopped (didn't double check though)" ;; *) echo "Usage: /etc/init.d/domotigaserver {start|stop}" exit 1 ;; esac exit 0
原來腳本執行得太早了;在一些先決條件之前。符號連結被命名為 S03domotigaserver - 我將它們重命名為 S80domotigaserver,它現在可以工作了。
創建 init.d 腳本是不夠的。您需要
/etc/rc[0-9].d
為正確的執行級別創建啟動/停止連結。預設情況下,Debian 使用執行級別 2(可在 中配置
/etc/inittab
)。要創建適當的連結,您可以使用update-rc.d。跑
update-rc.d domotigaserver defaults
作為根使用者。
或者,您可以使用
rcconf
(例如通過 安裝它apt-get install rcconf
)。它提供了一個不錯的TUI。有關更多資訊,請參見此處的範例。