Problema
Tengo un proceso de Java que no muere ni con SIGTERM ni 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
Reaparece cada vez que se recibe la señal.
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
Suena extraño, pero incluso cuando reinicio el servidor, todavía no muere .
El proceso se ejecutó a través del script de inicio con el siguiente comando:
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} &
¿Hay alguna forma de forzar este proceso a matar que no sea reinstalar el sistema operativo?
Medio ambiente
Proceso:
logstash 5.0.0~alpha5
OS:
Red Hat Enterprise Linux Server release 6.7 (Santiago)
Versión de 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)
El servidor se implementa en Microsoft Azure.
Respuestas:
En realidad su proceso se detiene aquí.
Init inicia un nuevo proceso de logstash para reemplazarlo.
Eso también muestra qué proceso de control es responsable de reiniciar logstash: init . (En RHEL 6 y CentOS que es Upstart) Su proceso probablemente se inicia desde
/etc/inittab
un archivo desplegable/etc/init/logstash.conf
(o similar) y debe controlarse con la herramienta adecuada,initctl
y no conkill
.Intenta
initctl list
ver si logstash está allí.Entonces
initctl stop logstash
lo detendrá.Editar o eliminar el archivo conf en / etc / init le permitirá deshabilitarlo de forma persistente.
Incluso puede controlar el trabajo con los comandos
service
ychkconfig
.fuente
Probablemente se deba a que logstash-relay se está ejecutando ... Debe intentar detener logstash-relay
después de esta comprobación, si el ps está allí, entonces initctl list | ordenar
¡Espero que esto ayude! ¡Me solucionó el problema!
Gracias
VR
fuente
init
que fue el responsable de reaparecer el proceso.