O serviço Init.d não reaparece após a morte

O serviço Init.d não reaparece após a morte

Eu tenho o seguinte script init.d em execução no 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

Quando eu o mato manualmente executando kill -9 <pid>o processo não reaparece. Existe uma maneira de dizer para ele reaparecer se for encerrado?

Responder1

Você não disse para ele reaparecer.

Como o livro de receitas do Upstartdiz,

6.28 respawn

Com esta sub-rotina, sempre que o script/exec principal sair, sem que o objetivo do job tenha sido alterado para parar, o job será reiniciado.

6.29 respawn limit

Sim, este édiferentepara um respawn simples: especificar respawn limitnão implica respawn.

Em outras palavras, você deve definir respawnmesmo que também tenha arquivos respawn limit.

Responder2

Eu acho que você pode usar o arquivo inittab para dizer para ele reaparecer.

Uma entrada se parece com isto: id:runlevels:action:process

respawn pode ser definido como uma das ações.

informação relacionada