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


当前回答

使用命令查找进程ID

lsof -n -i4TCP:8080 

在获得processId之后

sudo kill -9 processID

然后提供您的系统密码。

其他回答

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

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

我为此创建了一个函数。

function free_port() {
    if [ -z $1 ] 
    then
        echo no Port given
    else
        PORT=$1;
        PID=$(sudo lsof -i :$PORT) # store the PID, that is using this port 

        if [ -z $PID ] 
        then
            echo port: $PORT is already free.
        else
            sudo kill -9 $PID # kill the process, which frees the port
            echo port: $PORT is now free.
        fi
    fi
}

free_port 80 # you need to change this port number

在终端中复制并粘贴此代码块可以释放所需的端口。记得修改最后一行的端口号。

使用命令查找进程ID

lsof -n -i4TCP:8080 

在获得processId之后

sudo kill -9 processID

然后提供您的系统密码。

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

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

https://github.com/xtrasimplicity/killport

非常简单的找到端口5900:

sudo lsof -i :5900

然后考虑59553作为PID

sudo kill 59553