通过使用Homebrew安装的elastic(elasticsearch),可以轻松停止进程
首先
在Homebrew中,您可以轻松地安装elastic(elasticsearch)。
> brew install elasticsearch
启动方法非常简单,您只需将elasticsearch作为命令名称即可轻松启动。
> elasticsearch
此外,如需将其设为后台运行。
> elasticsearch &
然而,如果要删除这个elasticsearch进程是相当麻烦的,当它在后台运行时。
类似这样,需要使用ps命令来查找进程列表并筛选出进程ID,然后再输入kill命令,这个过程很繁琐。
> ps aux | grep elasticsearch
user 19246 0.0 0.1 2526452 12172 ?? S 9:54PM 0:00.13 xxxxx/elasticsearch
> kill 19246
简化繁琐的进程停止的解决方案。
只需以守护进程模式启动elastic(elasticsearch),将进程ID写入到pid文件中,然后使用指定的pid文件执行kill命令即可。详细步骤如下:
在启动时给elastic(elasticsearch)添加选项。
在使用elastic(elasticsearch)时,附加以下选项
-
- -d オプションでデーモン化
- -p オプションでファイルにpidファイルの場所を指定 今回はtmpディレクトリの下を指定
> elasticsearch -d -p ./tmp/pid
在停止elastic(elasticsearch)时,使用pid文件。
读取pid文件,指定其中的内容(如进程ID 12345)并执行kill命令。
> kill `cat ./tmp/pid`
赠品
使用Makefile一键启动和停止。
将Makafile配置好,可以一键启动和停止,非常方便。
(实际上在Rails项目中,一起启动了多个中间件)
# 起動
es_start:
elasticsearch -d -p ./tmp/pid
# 停止
es_stop:
kill `cat ./tmp/pid`
如果使用Git进行管理的话,要小心不要无意中提交pid文件。
如果使用git进行管理的话,你可以在.gitignore中指定忽略pid文件的区域,这样就不必担心不小心提交了它们。
如果存在以下类型的目录.gitignore文件
/tmp
在启动时,将./tmp/pid文件放置在.gitignore文件中所指定的项目区域是没有问题的。
引用:
-
- https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html#setup-installation-pid
- http://stackoverflow.com/questions/14119062/restart-elasticsearch-node