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


当前回答

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

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

其他回答

首先找出占用了所需端口的进程id (pid)。g 5434) Ps aux | grep 5434

2.终止这个过程

   kill -9 <pid>

要找到流程,请尝试:

sudo lsof -i :portNumber

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

kill PID

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

kill -9 PID

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

sudo kill -9 PID

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

使用命令查找进程ID

lsof -n -i4TCP:8080 

在获得processId之后

sudo kill -9 processID

然后提供您的系统密码。

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

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

我在这里找到了参考资料

你也可以使用第一个命令来杀死一个拥有特定端口的进程:

sudo netstat -ap | grep :<port_number>

例如,这个进程持有8000 TCP端口,然后运行以下命令:

sudo netstat -ap | grep :8000

将输出与进程持有端口8000对应的行,例如:

tcp  0  0 *:8000   *:* LISTEN  4683/procHoldingPort

在本例中,procHoldingPort是打开端口的进程的名称,4683是它的pid, 8000(注意它是TCP)是它持有的端口号(您希望关闭该端口号)。

然后按照上面的例子杀死进程:

kill  4683

正如其他人在这里提到的,如果这不起作用(你可以尝试使用-9作为参数的kill):

kill -9 4683

同样,通常情况下,如果可以,最好避免发送SIGKILL(-9)。