我使用的sunspot_solr版本是1.3.3。爲什麼我不能阻止Solr運行?
我正在使用sunspot_solr gem來啓動和停止本地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 solr/pids/development/sunspot-solr-development.pid
4758
這意味着rake sunspot:solr:stop
是殺害「4758」,並留下「4761」啓動和運行。