39
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rails serverのプロセスを素早く落とす

Last updated at Posted at 2018-10-23

あー、ローカル環境のRailsバグったなと思った時に待つのめんどいので強制的にプロセスを終了させる時のメモです。いつも自分でやってますが、久しぶりにQittaに投稿してみようと思ってサクッとメモに残しました。

$ rails server
=> Booting Puma
=> Rails 5.1.4 application starting in development
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.10.0 (ruby 2.4.1-p111), codename: Russell's Teapot
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop

ご丁寧に Use Ctrl-C to stop で止めてねって書いてあるので、 control + c でサクッと消える時もあります。以下のように。

Use Ctrl-C to stop
^C- Gracefully stopping, waiting for requests to finish
=== puma shutdown: 2018-10-24 01:06:40 +0900 ===
- Goodbye!
Exiting

しかし、待てど暮らせどダメな時もあります。
そんな時は、 lsof コマンドで動いてるものを探し出してきて、killしましょう。

# 3000番で動いてるプロセス探す
$ lsof -i:3000
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ruby    33783 kanuu   19u  IPv4 0x1ee1c75a9552b9ad      0t0  TCP *:hbci (LISTEN)

# 上記のPIDの番号をkillする

$ kill -9 33783
# サーバーのログ

Killed: 9

これで止まったはずです。

以上です。

追記

ゴニョゴニョ書きましたが、ワンライナーでいけると教えていただきました。
便利です。勉強になりました。

$ kill -9 $(lsof -i tcp:3000 -t)

pumaをkillすることでもいけました。

$ pkill -f puma

参考記事

Rails sのプロセスが切れない時
lsofコマンド入門

39
32
1

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
39
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?