通过使用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
广告
将在 10 秒后关闭
bannerAds