我尝试在tomcat /bin目录下使用。/shutdown.sh关闭tomcat。但发现服务器没有正确关闭。因此我无法重新启动我的tomcat运行在端口8080上。
我想终止在8080上运行的tomcat进程。我首先想要在特定端口(8080)上运行的进程列表,以便选择要终止哪个进程。
我尝试在tomcat /bin目录下使用。/shutdown.sh关闭tomcat。但发现服务器没有正确关闭。因此我无法重新启动我的tomcat运行在端口8080上。
我想终止在8080上运行的tomcat进程。我首先想要在特定端口(8080)上运行的进程列表,以便选择要终止哪个进程。
当前回答
在我的情况下,cent os在建议的答案中有一些问题。所以我使用了以下解决方案:
ss -tanp | grep 65432 | head -1 | grep -Po "(?<=pid=).*(?=,)" | xargs kill
其他回答
这是Windows的解决方案:
C:\Users\Niroshan>netstat -ano|findstr "PID :8080"
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 18264
taskkill /pid 18264 /f
在我的情况下,cent os在建议的答案中有一些问题。所以我使用了以下解决方案:
ss -tanp | grep 65432 | head -1 | grep -Po "(?<=pid=).*(?=,)" | xargs kill
选择端口号并应用netstat命令中的grep,如下所示
netstat -ap | grep :7070
控制台输出
tcp 0 0:::7070:::* LISTEN 3332/java
根据PID(进程标识号)终止服务
kill -9 3332
你可以知道系统中运行的所有端口的列表及其详细信息(pid,地址等):
netstat -tulpn
您可以通过在以下命令中提供端口号来了解特定端口号的详细信息:
sudo netstat -lutnp | grep -w '{port_number}'
示例:sudo netstat -lutnp | grep -w '8080' 详情如下:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
如果你想使用pid来终止一个进程,那么:kill -9 {pid}
fuser -n TCP {port_number}
如果您无法访问任何sudo,请使用sudo。
这将杀死端口80上运行的程序
sudo fuser -k 80/tcp