如何使用TCP端口查找进程?

How to find process using TCP port?

启动 http 几次后,我收到此错误,好像 Go 的实例没有停止!?

listen tcp :9000: bind: address already in use

我在 nodejs 中也经历过类似的事情,但我能够终止进程。不幸的是,我似乎无法找到进程 ID 并终止它。

如何"free" tcp 端口?

如果您使用的是类似 unix 的系统,您可以使用 netstat 找出哪个进程正在侦听端口:

sudo netstat -nlp | grep 9000

事实证明 -p 选项在 OS X 上不可用。如果您使用的是 OS X,您可以这样做:

lsof -n -i4TCP:$PORT | grep LISTEN

Who is listening on a given TCP port on Mac OS X?