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


当前回答

使用命令查找进程ID

lsof -n -i4TCP:8080 

在获得processId之后

sudo kill -9 processID

然后提供您的系统密码。

其他回答

使用命令查找进程ID

lsof -n -i4TCP:8080 

在获得processId之后

sudo kill -9 processID

然后提供您的系统密码。

非常简单的找到端口5900:

sudo lsof -i :5900

然后考虑59553作为PID

sudo kill 59553

找出占用您想释放的端口号(例如,5955)的进程ID (PID) Sudo lsof -i:5955 使用PID杀死当前正在使用该端口的进程 sudo kill -9 PID

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

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

https://github.com/xtrasimplicity/killport

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

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)。