我尝试在tomcat /bin目录下使用。/shutdown.sh关闭tomcat。但发现服务器没有正确关闭。因此我无法重新启动我的tomcat运行在端口8080上。

我想终止在8080上运行的tomcat进程。我首先想要在特定端口(8080)上运行的进程列表,以便选择要终止哪个进程。


当前回答

选项1在特定端口上只杀死LISTEN的一行程序:

kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)

选项2如果你安装了npm,你也可以运行

npx kill-port 3000

其他回答

Linux:如果你知道端口,你可以使用这个命令:

netstat -plten | grep LISTEN | grep 8080

AIX:

netstat -Aan | grep LISTEN | grep 8080

然后使用第一列(例如:f100050000b05bb8)并运行以下命令:

rmsock f100050000b05bb8 tcpcb

杀死进程。

可以使用lsof命令。 假设端口号是8090

lsof -i:8090

该命令返回该端口上的开放进程列表。

之类的……

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ssh 75782 eoin 5u IPv6 0x01c1c234 0t0 TCP localhost:8090 (LISTEN)

要释放端口,杀死使用它的进程(进程id是75782)…

kill -9 75782

这个方法对我很管用。 这是原文的链接:link

执行如下命令,查询到8080端口号PID:

Sudo lsof -t -i:8080

你现在可以使用以下命令轻松地杀死你的PID:

须藤杀-9

您可以使用一个命令来杀死特定端口上的进程,使用以下命令:

Sudo kill -9 $(Sudo lsof -t:8000)

如果您想终止运行在端口号8080上的进程,那么首先需要找到8080端口进程标识号(PID),然后终止它。执行如下命令,查询到8080端口号PID:

sudo lsof -t -i:8080

在这里,

Sudo -命令询问管理员权限(用户id和密码)。 lsof -文件列表(也用于列出相关进程) -t -只显示进程ID -i -只显示Internet连接相关进程 :8080 -只显示该端口号下的进程

所以你现在可以使用以下命令轻松地杀死你的PID:

sudo kill -9 <PID>

在这里,

Kill -终止进程的命令 -9 -强力

您可以使用一个命令来杀死特定端口上的进程,使用以下命令:

sudo kill -9 $(sudo lsof -t -i:8080)

欲了解更多信息,请参见以下链接 如何杀死一个进程在特定的端口上的linux

根据@veer7所说:

如果你想知道端口上有什么,在杀死它之前先这么做。

$ sudo netstat -plten |grep java
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      1000       906726      25296/java      
tcp6       0      0 :::8009                 :::*                    LISTEN      1000       907503      25296/java      
tcp6       0      0 :::8080                 :::*                    LISTEN      1000       907499      25296/java      
$ ps 25296
  PID TTY      STAT   TIME COMMAND
25296 ?        Sl     0:16 /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Dcatalina.base=/hom

使用'ps'和netstat报告的进程号