Acontece que o script estava sendo executado muito cedo; antes de alguns pré-requisitos. Symlinks foram nomeados S03domotigaserver - eu os renomei para S80domotigaserver e agora funciona.
Para minha vida, não consigo fazer isso funcionar. Estou rodando Debian no Raspberry Pi.
executando este comando da CLI:
/home/pi/domotiga/DomotiGaServer.gambas -d
executa meu servidor de automação residencial.
Como faço para executar isso na inicialização?
Eu tenho um arquivo no meu diretório /etc/init.d que é carregado, mas não inicializa o servidor
conteúdo do arquivo:
#!/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
Criar scripts init.d não é suficiente. Você precisa
para criar links de início / parada em /etc/rc[0-9].d
para o nível de execução adequado .
Por padrão, o Debian usa o nível de execução 2 (configurável em /etc/inittab
).
Para criar links apropriados, você pode usar update-rc.d . Executar
update-rc.d domotigaserver defaults
como usuário root.
Como alternativa, você pode usar rcconf
(instale-o, por exemplo, em apt-get install rcconf
). Ele oferece uma boa TUI .
Veja, por exemplo, aqui para mais informações.
Tags startup debian raspberry-pi