はじめに
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: