UNIX

サーバーのプロセスが生き残っててサーバーが起動できない時の対処法


ひょんな拍子にプロセスを生き残らせてしまう

サーバーストップする前にsshから抜けちゃうとか、会議でPC持ってったらVPN切れちゃってとか・・・

で、戻ってくると、サーバーが立ち上がらなくて、スムーズに業務に戻れない的な現象にちょくちょく当たる。

単にそそっかしい私の性格から起こる現象だと思いますが、よくそれでお世話になるコマンドをここに覚書として記します。

(port is in use or requires root privileges) (RuntimeError)

上記のようなエラーが出たりします。


解決策

$ ps ax | grep サーバー名

railsサーバーなり、thinなり、nginx、apache、使ってるサーバー名のプロセスをgrepかけて特定。

すると、

24245 pts/0    Sl+    0:48 ruby /home/chinchirorin/.rvm/gems/ruby-2.1.9@hogehoge/bin/thin start -p 3333

上記のようにプロセスIDを出せます。

一番左端にあるのが、それです。

で、これを

$ kill -9 24245

killしてあげれば、サーバーを正常に立ち上がらせることができます。