ユースケース
railsのゾンビプロセスを発生させる手法
- tmux, terminalを閉じてしまった場合
- railsをバックグラウンドで実行する方法
railsのバックグラウンド実行
$ rails server -d
- process idを消す
$ rm ./tmp/pids/server.pid
サーバーを止める方法
process id(以下pid)を消す必要があります。
消し方としては以下の3つの方法があります。
- ポートからpidを探す
- tmpのserver.pidからpidを探す
- pumaのprocessからpidを探す
ポートからpidを探す
$ lsof -i:3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ruby 31584 _user_name_ 10u IPv4 0xac1c1f275d70c41 0t0 TCP localhost:hbci (LISTEN)
ruby 31584 _user_name_ 11u IPv6 0xac1c1f26fce7e19 0t0 TCP localhost:hbci (LISTEN)
$ kill -kill 31584
tmpのserver.pidからpidを探す
$ ls tmp/pids/server.pid
tmp/pids/server.pid
$ cat tmp/pids/server.pid
31584
$ kill -kill 31584
pumaのprocessからpidを探す
$ ps aux | grep puma
_user_name_ 32578 0.0 0.0 xxx xxx s000 S+ xx:xxAM 0:00.00 grep puma
_user_name_ 31584 0.0 0.8 xxx xxx s005 S+ xx:xxAM 0:02.52 puma 3.12.1 (tcp://localhost:3000) [project_name]
$ kill -kill 31584