我从java类中打开了端口#5955,以便从客户端进行通信。我怎么关闭这个端口后,我做了?还有哪个命令可以显示我如果端口打开或关闭?


当前回答

要找到流程,请尝试:

sudo lsof -i :portNumber

使用PID杀死当前正在使用该端口的进程

kill PID

然后检查端口是否关闭。如果没有,试试:

kill -9 PID

如果前面的方法不管用,我只会做下面的

sudo kill -9 PID

安全起见。同样,这取决于您如何打开端口,这可能无关紧要。

其他回答

如上所述,我使用lsof和kill结合使用;但是编写了一个快速的bash脚本来自动化这个过程。

使用这个脚本,您可以在任何地方输入killport 3000,它将杀死端口3000上运行的所有进程。

https://github.com/xtrasimplicity/killport

一行最好

kill -9 $(lsof -i:PORT -t) 2> /dev/null

例子: 在mac上,想清除9604端口。服从命令非常有效

 kill -9 $(lsof -i:9604 -t) 2> /dev/null 

这似乎对我有用。只需将your_port_number更改为您想要停止的端口号。

sudo lsof -t -i tcp:your_port_number | xargs kill -9

要找到流程,请尝试:

sudo lsof -i :portNumber

使用PID杀死当前正在使用该端口的进程

kill PID

然后检查端口是否关闭。如果没有,试试:

kill -9 PID

如果前面的方法不管用,我只会做下面的

sudo kill -9 PID

安全起见。同样,这取决于您如何打开端口,这可能无关紧要。

假设运行端口为8000,请尝试以下操作:

free-port() { kill "$(lsof -t -i :8000)"; }

我在这里找到了参考资料