Debian

在啟動時執行執行檔

  • March 19, 2016

對於我的生活,我無法讓它發揮作用。我在樹莓派上執行 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

有關更多資訊,請參見此處的範例。

引用自:https://unix.stackexchange.com/questions/59866