Как мне убить elasticsearch из командной строки?

Мы пытаемся запустить сценарий, чтобы остановить elasticsearch.

Когда я выполняю ps aux | grep elastic , я получаю:

root@baldelas01:/tmp# ps aux |grep elastic
root     3016819  0.0  0.1   8248  4164 pts/2    S    14:43   0:00 su elasticsearch
elastic+ 3016820  0.0  0.1   7460  4260 pts/2    S+   14:43   0:00 bash
elastic+ 3016870  0.8 33.9 5562772 1369948 pts/2 Sl   14:43   0:37 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.io.tmpdir=/tmp/elasticsearch-3054796781310172182 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data -XX:ErrorFile=logs/hs_err_pid%p.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Xloggc:logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=32 -XX:GCLogFileSize=64m -Des.path.home=/opt/elasticsearch-6.6.1 -Des.path.conf=/opt/elasticsearch-6.6.1/config -Des.distribution.flavor=default -Des.distribution.type=tar -cp /opt/elasticsearch-6.6.1/lib/* org.elasticsearch.bootstrap.Elasticsearch -d
elastic+ 3016887  0.0  0.1 121920  6900 pts/2    Sl   14:43   0:00 /opt/elasticsearch-6.6.1/modules/x-pack-ml/platform/linux-x86_64/bin/controller
root     3019325  0.0  0.0   6432   736 pts/1    R+   15:54   0:00 grep --color=auto elastic
root@baldelas01:/tmp#

Как мне получить PID: 3016870 в скрипте и выполнить kill -9?

Я попробовал pidof но это не дает никакого результата.

0
задан 29 March 2021 в 13:40

1 ответ

pidof не дает никакого результата, потому что elastcisearch выполняется через двоичный файл java .

не очень простое решение для получения идентификатора:

ps -aux | grep 'elastic' | grep 'java' | awk -F " " '{ print $2 }'

то есть:

  • распечатать все процессы ( ps -aux )
  • отфильтровать результат по «эластичному» ключевое слово ( grep 'elastic' )
  • фильтровать результат по ключевому слову 'java' ( grep 'java' )
  • печатать только второй столбец ( awk -F "" '{print $ 2}' )

, тогда вы можете убить определенный идентификатор, используя kill -9 , если вам действительно нужно. Однако учтите, что всегда лучше безопасно завершите работу службы, используя команду, предложенную Ринзвиндом в одном из комментариев.

0
ответ дан 23 April 2021 в 23:29

Другие вопросы по тегам:

Похожие вопросы: