Vim+QuickRunでsinatraがフリーズした際の停止方法(mac)
Vim+QuickRun便利です。
でも、sinatraなど、実行しつづけるプロセスを起動すると、
固まって戻ってこなくなっちゃいます。
そんな時はpsコマンドでプロセスIDを調べてKillするといい、
という風にGoogle先生が言ってました。
psコマンドだけで幸せは来るか
そこで、sinatraが固まった後でps コマンドを入力してみます。
ないですね。
このあと、Vimを再起動してQuickRunしても、返ってくるのは、
こんなメッセージです。
== Someone is already performing on port 4567!
オイラはこの後どうしていいかわからなかったので、再起動とかしてました。
コレを読んでいるあなたは、そんな事しないで下さいね。
プロセスの見つけ方
この問題を解決するのに、ちょうどいいサイトを見つけました。これです。
http://groups.google.com/group/sinatrarb/browse_thread/thread/e34efc83e708576a
これによると、次のコマンドで、sinatraのプロセスが見つかるとの事です。
ps aux | grep ruby
> thks, I also found that simply "ps aux | grep ruby" gives the pid's and
a simple kill
もうひとつの方法
また、ポート4567を使う事がわかっているので、次のような書き方もできるらしいです。
lsof -i :4567
You can try "lsof -i :4567" to find which process has the port open,
then stop it with kill.
こっちの方がスマートな感じですね。
このようにして、プロセスIDは749だという事が判明しました。
あとは、kill 749 と入力すれば、めでたくVimはオイラのもとへ帰ってきます。
たぶん、あなたのもとへも。