Init.d serviço não reaparecer depois de matar

1

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 reaparecer se terminar?

    
por Or W 08.06.2015 / 14:41

2 respostas

2

Você não disse para reaparecer.

Como o Cookbook Upstart diz ,

6.28 respawn

With this stanza, whenever the main script/exec exits, without the goal of the job having been changed to stop, the job will be started again.

6.29 respawn limit

Yes, this is different to a plain respawn: specifying respawn limit does not imply respawn.

Em outras palavras, você deve definir respawn mesmo se você também tiver respawn limit .

    
por 08.06.2015 / 15:33
-1

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

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

pode ser definido como uma das ações.

    
por 08.06.2015 / 15:07

Tags