Problème
J'ai un processus java qui ne meurt ni avec 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
Il réapparaît chaque fois qu'un signal est reçu.
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
Cela semble étrange mais même si je redémarre le serveur, il ne meurt toujours pas .
Le processus a été exécuté via le script init avec la commande ci-dessous:
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-t-il un moyen de forcer ce processus à tuer autre que la réinstallation du système d'exploitation?
Environnement
Processus:
logstash 5.0.0~alpha5
OS:
Red Hat Enterprise Linux Server release 6.7 (Santiago)
Version 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)
Le serveur est déployé sur Microsoft Azure.
Réponses:
En fait, votre processus s'arrête là.
Un nouveau processus logstash est démarré par init pour le remplacer.
Cela montre également quel processus de contrôle est responsable du redémarrage de logstash: init . (Sur RHEL 6 et CentOS qui est Upstart) Votre processus démarre très probablement à partir de l'un
/etc/inittab
ou d'un fichier de dépôt dans/etc/init/logstash.conf
(ou similaire) et doit être contrôlé avec l'outil approprié,initctl
et non aveckill
.Essayez
initctl list
de voir s'il y a une logstash.Alors
initctl stop logstash
l'arrêtera.La modification ou la suppression du fichier conf dans / etc / init vous permettra de le désactiver de manière permanente.
Vous pourriez même être en mesure de contrôler le travail avec les commandes
service
etchkconfig
.la source
C'est probablement parce que logstash-relay est en cours d'exécution ... Vous devriez essayer d' arrêter logstash-relay
après cette vérification si le ps est là alors liste initctl | Trier
J'espère que cela t'aidera! Cela a résolu le problème pour moi!
Merci
VR
la source
init
qui était responsable de la réapparition du processus.