Problema
Eu tenho o processo java que não morre nem com o SIGTERM nem com o 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 reinicio o servidor, ele ainda não morre .
O processo foi executado através 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 esse processo a não ser 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.
Respostas:
Na verdade, seu processo pára por aqui.
Um novo processo de 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 é inicial) É muito provável que seu processo seja iniciado a partir de
/etc/inittab
um arquivo drop-in/etc/init/logstash.conf
ou (ou similar) e deve ser controlado com a ferramenta apropriada,initctl
e não comkill
.Tente
initctl list
ver se o logstash está lá.Então
initctl stop logstash
vai parar.Editar ou remover o arquivo conf em / etc / init permitirá que você o desative persistentemente.
Você pode controlar o trabalho com os comandos
service
echkconfig
.fonte
Provavelmente porque o logstash-relay está em execução ... Você deve tentar parar o logstash-relay
após esta verificação, se o ps estiver lá, então initctl list | ordenar
Eu espero que isso te ajude! Corrigiu o problema para mim!
obrigado
VR
fonte
init
que foi a responsável por reaparecer o processo.