一尘不染

在 Mac 上查找(并杀死)进程锁定端口 3000

node.js

如何找到(并杀死)侦听/使用我的 TCP 端口的进程?我在 macOS 上。

有时,在崩溃或一些错误之后,我的 Rails 应用程序会锁定端口 3000。我无法使用ps -ef…找到它

运行时

rails server

我明白了

Address already in use - bind(2) (Errno::EADDRINUSE)

停止 Node.js 进程时会发生同样的问题。即使进程停止并且应用程序停止运行,端口3000也会被锁定。再次启动应用程序时,得到

Address already in use (Errno::EADDRINUSE)

阅读 205

收藏
2022-02-08

共2个答案

一尘不染

  1. 你可以试试 netstat

js netstat -vanp tcp | grep 3000

  1. 对于macOS El Capitan和更新版本(或者如果您的 netstat 不支持-p),请使用lsof

js lsof -i tcp:3000

  1. 对于Centos 7使用:

js netstat -vanp --tcp | grep 3000

2022-02-08
一尘不染

Find:

sudo lsof -i :3000

Kill:

kill -9 <PID>
2022-02-08