Я использую причал для запуска Solr, используя следующую строку cmd: java -jar start.jar &
как я могу изящно остановить этот экземпляр solr?
Чтобы уточнить предыдущий ответ, в команде:
java -DSTOP.PORT=8001 -DSTOP.KEY=stop_jetty -jar start.jar
В -DSTOP.PORT=port
следует указать доступный порт (отличается от порта, настроенного в solr_home/etc/jetty.xml
используется для Jetty). Я попробовал запустить его следующим образом:
nohup java -DSTOP.PORT=8001 -DSTOP.KEY=stop_jetty -jar start.jar &
И просто добавил --stop
параметр, чтобы остановить его:
nohup java -DSTOP.PORT=8001 -DSTOP.KEY=stop_jetty -jar start.jar --stop &
В обоих случаях работает нормально, но все равно выглядит недостаточно изящно.
Найдите идентификатор процесса с помощью ps
и отправьте ему сигнал о прекращении использования kill
- я верю HUP
или INT
сигналы позволят процессу Java изящно завершиться; тест для подтверждения.
Еще лучше, вы действительно должны использовать подходящую службу для запуска Solr - Tomcat может это сделать, или Jetty можно заставить работать как службу.
Запустите его (задав переменные stop.port и stop.key):
java -DSTOP.PORT=8080 -DSTOP.KEY=stop_jetty -jar start.jar
тогда вы можете остановить это:
java -DSTOP.PORT=8080 -DSTOP.KEY=stop_jetty -jar start.jar --stop