LoginSignup
7
7

More than 5 years have passed since last update.

homebrewでインストールしたelastic(elasticsearch)のプロセスを手軽に止める

Posted at

はじめに

elastic(elasticsearch)はhomebrewでこんな感じで簡単にインストールできる

> brew install elasticsearch

起動方法はシンプルにelasticsearchをコマンド名としているので簡単に起動する

> elasticsearch

また、バックグラウンド実行させる場合は

> elasticsearch &

ただ、バックグラウンド起動した場合にはこのelastic(elasticsearch)のプロセスを削除するのはけっこう面倒
こんな感じでpsコマンドでプロセスの一覧をgrepして絞り込んでプロセス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)をデーモンで起動し、pidファイルにプロセスIDを書き出してやり、pidファイルを指定してkillコマンドを実行してやれば良い。詳細は以下

elastic(elasticsearch)を起動時にオプションを付ける

elastic(elasticsearch)時に以下のオプションを付ける

  • -d オプションでデーモン化
  • -p オプションでファイルにpidファイルの場所を指定 今回はtmpディレクトリの下を指定
> elasticsearch -d -p ./tmp/pid

elastic(elasticsearch)を停止する際にpidファイルを利用する

pidファイルを読み込んでその中身(12345 とかのプロセスID)を指定して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 ファイルは、git管理しているプロジェクトの.gitignoreにかかれている領域に置いてやると紛らわしくなくてよいでしょう

refs:

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7