一つのターミナル画面でRail開発していて面倒なのが、
起動してあるRailsを コントロール + C で抜けて、
mysqlのコマンドをいじったりして、
再度Railsを再起動して、、、
といったターミナル作業である。
iTerm などのターミナル画面を分割し同時進行できるアプリをインストールしてあれば
iTermを使うのがベストだが、ど〜〜してもiTermが使えない環境の場合は、
一つのターミナルの背景でRailsを動かしつつ、見えるところでmysql使う方法を利用すると便利。
背景でRailsを動かす方法
ローカル環境でRailsを起動するいつものコマンド に -d
を追加
$ rails s -b 0.0.0.0 -p 3000 -d
=> Booting Puma
=> Rails 5.1.6.1 application starting in development
=> Run `rails server -h` for more startup options
-d
は demon
の意味。
demon
とは、リクエストが来るのを待っているプログラムのこと。
今は、Railsを 起動させてリクエストが来るのを待っている状態にさせて
背景でRailsを起動させている状態が作れる
背景のRailsを止める方法
$ ps ax | grep puma
13803 ? Sl 0:00 puma 3.12.0 (tcp://0.0.0.0:3000) [/]
13811 pts/1 S+ 0:00 grep --color=auto puma
ps ax
で、 今走っている プログラムを表示させている。
| grep puma
で、更に puma
という文字列が含まれているものを抽出した。
この13803
は、プロセスID
と呼ばれるもの。
現時点では、動かしているRailsに相当するので、停止させたい場合は
$ sudo kill 13803
背景のRailsが停止していることの確認
$ ps ax | grep puma
13815 pts/1 S+ 0:00 grep --color=auto puma
13803 が 表示されていないので、確かにRails は停止している。