我在mac上,做:
rails server
我得到:
2010-12-17 12:35:15] INFO WEBrick 1.3.1
[2010-12-17 12:35:15] INFO ruby 1.8.7 (2010-08-16) [i686-darwin10.4.0]
[2010-12-17 12:35:15] WARN TCPServer Error: Address already in use - bind(2)
Exiting
我知道我可以在一个新的端口上启动一个进程,但是我想终止这个进程。
现有的答案很好,但我发现Bijan的答案撒得太广了,涵盖了可能不相关的过程。
下面是一个1-liner,它结合了port和ruby作为字符串搜索
kill -9 $(lsof -i tcp:3000 -t -c ruby -a)
分解它的工作原理:
Kill -9将终止列出的进程。但是首先运行$()内的命令
Lsof -i tcp:3000列出该端口上的所有进程
-t是简洁模式,所以只有pid
-c通过命令搜索,在本例中是ruby,因为我使用的是puma
-a是all,它将-i和-c组合在一起
现有的答案很好,但我发现Bijan的答案撒得太广了,涵盖了可能不相关的过程。
下面是一个1-liner,它结合了port和ruby作为字符串搜索
kill -9 $(lsof -i tcp:3000 -t -c ruby -a)
分解它的工作原理:
Kill -9将终止列出的进程。但是首先运行$()内的命令
Lsof -i tcp:3000列出该端口上的所有进程
-t是简洁模式,所以只有pid
-c通过命令搜索,在本例中是ruby,因为我使用的是puma
-a是all,它将-i和-c组合在一起