私が使用しているsunspot_solrのバージョンは1.3.3です。
私はsunspot_solrgemを使用して、Solrのローカルインスタンスを開始および停止しています。次のコマンドを使用して起動します。
rake sunspot:solr:start
そしてそれを停止するための次のコマンド:
rake sunspot:solr:stop
ただし、停止は機能していません。pidsフォルダーに書き込まれたpidが正しくないことに気づきました。
起動すると、ps -ef | grep 'java'
コマンドの出力として次のように表示されます。
1000 4758 4752 0 20:32 ? 00:00:00 sh -c java -Djetty.port\=8982 -Dsolr.data.dir\=/home/panayotis/my_documents/ezMTA/solr/data/development -Dsolr.solr.home\=/home/panayotis/my_documents/ezMTA/solr -Djava.util.logging.config.file\=/tmp/logging.properties20120902-4758-13patuu -jar start.jar
1000 4761 4758 7 20:32 ? 00:00:01 java -Djetty.port=8982 -Dsolr.data.dir=/home/panayotis/my_documents/ezMTA/solr/data/development -Dsolr.solr.home=/home/panayotis/my_documents/ezMTA/solr -Djava.util.logging.config.file=/tmp/logging.properties20120902-4758-13patuu -jar start.jar
これは、実サーバープロセスがpid「4761」のプロセスであることを意味します。プロセス「4758」は、サーバーをシェルで起動するためだけにあります。
pidファイルをcatすると、次のように表示されます。
cat solr/pids/development/sunspot-solr-development.pid
4758
これは、rake sunspot:solr:stop
「4758」を強制終了し、「4761」を稼働させたままにすることを意味します。