El servicio Init.d no reaparece después de la muerte

El servicio Init.d no reaparece después de la muerte

Tengo el siguiente script init.d ejecutándose en Ubuntu 14.04

# Logstash Service

description     "Logstash"

start on (net-device-up
          and local-filesystems
          and runlevel [2345])

stop on runlevel [016]

respawn limit 10 5

# NB: Upstart scripts do not respect
# /etc/security/limits.conf, so the open-file limits
# settings need to be applied here.
limit nofile 32000 32000

console output

setuid tps

chdir /opt/logstash-1.4.2

env LS_HOME=/opt//logstash-1.4.2

env CONFIG_DIR=/opt/config/logstash
env JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-x64
env SINCEDB_DIR=/opt/config/logstash
env _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"
exec $LS_HOME/bin/logstash -f $CONFIG_DIR -vvv | svlogd /opt/logs 2>&1

Cuando lo elimino manualmente ejecutando kill -9 <pid>el proceso no reaparece. ¿Hay alguna manera de decirle que reaparezca si se termina?

Respuesta1

No le dijiste que reapareciera.

Como el libro de cocina advenedizodice,

6.28 respawn

Con esta estrofa, siempre que el script/exec principal salga, sin que el objetivo del trabajo haya sido cambiado para detenerlo, el trabajo se iniciará nuevamente.

6.29 respawn limit

Sí, eso esdiferentea una reaparición simple: especificar respawn limitno implica respawn.

En otras palabras, debes configurarlo respawnincluso si también tienes respawn limit.

Respuesta2

Creo que puedes usar el archivo inittab para indicarle que reaparezca.

Una entrada se ve así: id:runlevels:action:process

La reaparición se puede configurar como una de las acciones.

información relacionada