【发布时间】:2011-04-20 18:52:36
【问题描述】:
如何找到(并终止)侦听/使用我的 TCP 端口的进程?我在 macOS 上。
有时,在发生崩溃或一些错误后,我的 Rails 应用程序会锁定端口 3000。我使用 ps -ef 找不到它...
运行时
rails server
我明白了
Address already in use - bind(2) (Errno::EADDRINUSE)
【问题讨论】:
-
可以在下面的@Kevin Suttle 的回答中找到杀死任何用户指定端口上的进程的非常简洁的解决方案。转载于此供后人参考:
function killport() { lsof -i TCP:$1 | grep LISTEN | awk '{print $2}' | xargs kill -9 } -
@user456584 上面的评论应该是公认的答案 ^^^ 该函数可以杀死我在端口上运行的 许多 进程
-
在使用 netstat 找到进程并使用 kill -9 命令杀死进程后工作!
-
@richardec
kill -9 $(lsof -ti:3000)不工作?