web-dev-qa-db-ja.com

コマンドラインからApacheSolrを正常に停止する

次のコマンドラインを使用してSolrを実行するためにjettyを使用しています:Java -jar start.jar&

このsolrのインスタンスを適切に停止するにはどうすればよいですか?

1
Saqib Ali

psでプロセスIDを見つけ、killの使用を停止するシグナルを送信します-HUPまたはINTシグナルでJava正常に終了するプロセス。テストして確認します。

さらに良いことに、Solrを実行するには適切なサービスを使用する必要があります。Tomcatでこれを実行するか、Jettyをサービスとして実行することができます。

2
Shane Madden

前の答えを明確にするために、コマンドで:

Java -DSTOP.PORT=8001 -DSTOP.KEY=stop_jetty -jar start.jar

-DSTOP.PORT=portは、使用可能ポートを指定する必要があります(Jettyに使用されるsolr_home/etc/jetty.xmlで構成されたポートとは異なります)。私はそれを開始するために次の方法で試しました:

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 &

どちらの場合も正常に機能していますが、それでも十分に優雅に見えません。

2
2ark0

それを開始します(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

ソース

0
Amr Lotfy