起動時に実行可能ファイルを実行する

起動時に実行可能ファイルを実行する

私の人生では、私はそれを動作させることはできません。私はRaspberry Piで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

答え1

init.dスクリプトを作成するだけでは不十分です。/etc/rc[0-9].d正しい結果を得るには、スタート/ストップリンクを作成する必要があります。ランレベル

デフォルトでは、Debianはランレベル2(で設定可能/etc/inittab)を使用します。

適切なリンクを作成するには、次のものを使用できます。更新-rc.d。走る

update-rc.d domotigaserver defaults

rootユーザーとして。

rcconfまたは(たとえば、インストールを介して)使用できますapt-get install rcconf。それは良いものを提供しますTUI

例を見るここより多くの情報を知りたいです。

答え2

いくつかの前提条件の前に、スクリプトがあまりにも早く実行されていることがわかりました。シンボリックリンク名は S03domotigaserver として指定されました。名前をS80domotigaserverに変更し、今動作します。

関連情報