Problema
Eu tenho um processo java que não morre nem com SIGTERM nem SIGKILL.
logstash 2591 1 99 13:22 ? 00:01:46 /usr/bin/java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+DisableExplicitGC -Djava.awt.headless=true -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -Xmx1g -Xms256m -Xss2048k -Djffi.boot.library.path=/usr/share/logstash/vendor/jruby/lib/jni -Xbootclasspath/a:/usr/share/logstash/vendor/jruby/lib/jruby.jar -classpath : -Djruby.home=/usr/share/logstash/vendor/jruby -Djruby.lib=/usr/share/logstash/vendor/jruby/lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main --1.9 /usr/share/logstash/lib/bootstrap/environment.rb logstash/runner.rb --path.settings /etc/logstash
Ele reaparece toda vez que o sinal é recebido.
Sep 15 13:22:17 test init: logstash main process (2546) killed by KILL signal
Sep 15 13:22:17 test init: logstash main process ended, respawning
Parece estranho, mas mesmo eu reiniciando o servidor, ele ainda não morre .
O processo foi executado por meio do script init com o comando abaixo:
NAME=logstash
LS_USER=logstash
LS_OPTS="--path.settings=/etc/logstash"
LS_PIDFILE=/var/run/$NAME/$NAME.pid
LS_STDERR="/var/log/logstash/logstash.stderr"
DAEMON="/usr/share/logstash/bin/logstash"
runuser -s /bin/sh -c "exec $DAEMON ${LS_OPTS}" ${LS_USER} &>${LS_STDERR} &
Existe alguma maneira de forçar a eliminação desse processo além de reinstalar o sistema operacional?
Meio Ambiente
Processo :
logstash 5.0.0~alpha5
SO:
Red Hat Enterprise Linux Server release 6.7 (Santiago)
Versão Java:
openjdk version "1.8.0_101"
OpenJDK Runtime Environment (build 1.8.0_101-b13)
OpenJDK 64-Bit Server VM (build 25.101-b13, mixed mode)
O servidor é implantado no Microsoft Azure.
Na verdade, seu processo para aqui.
Um novo processo logstash é iniciado pelo init para substituí-lo.
Isso também mostra qual processo de controle é responsável por reiniciar o logstash: init . (No RHEL 6 e no CentOS que é Upstart) Seu processo provavelmente é iniciado a partir de um
/etc/inittab
ou de um arquivo drop-in/etc/init/logstash.conf
(ou similar) e deve ser controlado com a ferramenta apropriada,initctl
e não comkill
.Tente
initctl list
ver se logstash está lá.Então
initctl stop logstash
vai parar.Editar ou remover o arquivo conf em /etc/init permitirá que você o desabilite persistentemente.
Você pode até controlar o trabalho com os comandos
service
e .chkconfig
É provavelmente porque o logstash-relay está em execução ... Você deve tentar parar o logstash-relay
depois disso, verifique se o ps está lá, então initctl list | ordenar
Eu espero que isso te ajude! Resolveu o problema para mim!
Obrigado
RV