O serviço Upstart nunca inicia ou pára completamente

11

Estou tentando criar um script iniciante simples para o servidor teamspeak, mas não consigo fazê-lo funcionar.

Quando digo initctl start , ele apenas executa, mas nunca termina ou emite qualquer mensagem. O mesmo está acontecendo para parar .

Para ter certeza de que não estou fazendo nada errado, copiei o script cron e tentei executá-lo, mas acontece da mesma maneira.

o que estou fazendo de errado aqui?

ATUALIZAÇÃO:

aqui está o meu script para o TS3:

# myservice - myservice job file
description "my service description"
author "Me <[email protected]>"

# Stanzas
#
# Stanzas control when and how a process is started and stopped
# See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn

# When to start the service
start on runlevel [2345]

# When to stop the service
stop on runlevel [016]

# Automatically restart process if crashed
respawn

# Essentially lets upstart know the process will detach itself to the background
expect fork

# Start the process
script
       emit going into TS3 dir
       chdir /home/danizmax/teamspeak3-server_linux-x86/
       emit starting TS3
       exec su -c "/home/danizmax/teamspeak3-server_linux-x86/ts3server_startscript.sh start" danizmax &
       emit done
end script

Eu tentei até mesmo com o script mais simples, e isso também não funciona:

description     "regular background program processing daemon"

start on runlevel [2345]
stop on runlevel [!2345]

expect fork
respawn

exec echo example
console output

Obrigado pela sua ajuda.

    
por danizmax 24.09.2011 / 10:55

1 resposta

1

há várias esquisitices em seu trabalho inicial que me fazem coçar a cabeça.

1) emit não é um programa que eu conheço, então, a menos que você o tenha adicionado ao caminho do sistema, isso provavelmente está causando erros. Você quis dizer 'echo'? Isso pode não ser útil, pois ele irá para o console do sistema, que pode não estar visível.

2) Assumindo que a estrofe 'emit' funcione, você diz 'espera fork', mas na verdade bifurca duas vezes . Uma vez para o 'script' e, novamente, quando o script do teamspeak se baseia no próprio plano de fundo.

3) você "su" para executar o script, mas o daemon start-stop é realmente mais simples na maioria dos casos:

Com 11.10, você não precisa fazer o script chdir in, não tenho certeza se isso foi adicionado depois de qualquer versão do upstart que você tenha. Verifique man 5 init da palavra chdir

start on runlevel [2345]
stop on runlevel [^2345]

respawn

chdir /home/danizmax/teamspeak-server
expect fork

exec start-stop-daemon --start --user danizmax --group danizmax --exec /home/danizmax/teamspeak3-server_linux-x86/ts3server_startscript.sh -- start

Além disso, os erros provavelmente serão relatados em / var / log / syslog. Você pode aumentar bastante o nível de erros executando

initctl log-priority info

man initctl para mais níveis de registro.

    
por SpamapS 31.10.2011 / 08:47

Tags