El servicio advenedizo nunca se inicia ni se detiene por completo

El servicio advenedizo nunca se inicia ni se detiene por completo

Estoy intentando crear un script de inicio simple para el servidor Teamspeak, pero no puedo hacerlo funcionar.

Cuando yo digoinicio inicialsimplemente se ejecuta pero nunca finaliza ni emite ningún mensaje. Lo mismo esta sucediendo paradetener.

Para estar seguro de que no estoy haciendo nada malo, copié el script cron e intenté ejecutarlo, pero sucede lo mismo.

¿Qué estoy haciendo mal aquí?

ACTUALIZAR:

Aquí está mi script para 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

Lo intenté incluso con el script más simple y tampoco funciona:

description     "regular background program processing daemon"

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

expect fork
respawn

exec echo example
console output

Gracias por su ayuda.

Respuesta1

Hay una serie de rarezas en tu advenedizo trabajo que me tienen rascándome la cabeza.

1) emit no es un programa que yo sepa, por lo que, a menos que lo haya agregado a la ruta del sistema, probablemente esté causando errores. ¿Querías decir 'eco'? Puede que eso tampoco sea útil, ya que irá a la consola del sistema, que puede no estar visible.

2) Suponiendo que la estrofa 'emitir' funcione, dices 'esperar bifurcación' pero luego en realidad bifurcados veces. Una vez para el 'guión', y luego otra vez cuando el guión del equipo se bifurca para ponerse en segundo plano.

3) haces "su" para ejecutar el script, pero start-stop-daemon es en realidad más simple en la mayoría de los casos:

Con 11.10, no necesita hacer el chdirscript in, no estoy seguro si se agregó después de cualquier versión de advenedizo que tenga. busca man 5 initla palabrachdir

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

Además, es probable que se informen errores en /var/log/syslog. Puede aumentar bastante el nivel de error ejecutando

initctl log-priority info

man initctlpara más niveles de registro.

información relacionada