TCPポートを占有しているプロセスを見つけてkillしたいです。
使用しているPCはMacです。
クラッシュやバグが発生した後、railsが3000番のポートを占有し続けていることがあります。しかしps -efを叩いても見つけられません。
rails server
のコマンドを打つと、以下のエラーになります。
Address already in use - bind(2) (Errno::EADDRINUSE)
追記(2014年):
以下を行うための前提として、killコマンドを実行した後、必要に応じてpidファイルを削除してください。 rm ~/mypath/myrailsapp/tmp/pids/server.pid
ユーザが指定した任意のポート上のプロセスをkillするためのスマートな回答は、以下の@Kevin Suttle氏のものだと思う。
@user456584 - 2014-01-17 18:39function killport() { lsof -i TCP:$1 | grep LISTEN | awk '{print $2}' | xargs kill -9 }