How to kill a process running on particular port in Linux?
我尝试使用tomcat
我想杀死在
此
而这个
仅适用于Linux。更普遍的是使用
要列出监听端口8080的任何进程:
1 | lsof -i:8080 |
要杀死侦听端口8080的任何进程:
1 | kill $(lsof -t -i:8080) |
或者更猛烈地:
1 | kill -9 $(lsof -t -i:8080) |
(
使用该命令
1 | sudo netstat -plten |grep java |
使用
它将显示具有端口号和进程ID的进程列表
1 2 | tcp6 0 0 :::8080 :::* LISTEN 1000 30070621 16085/java |
1 | kill -9 16085 |
我会在特定端口上添加这个单行只能杀死LISTEN:
您可以使用lsof命令。
这里的端口号是8090
1 | lsof -i:8090 |
此命令返回此端口上的打开进程列表。
就像是…
1 2 | COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ssh 75782 eoin 5u IPv6 0x01c1c234 0t0 TCP localhost:8090 (LISTEN) |
要释放端口,请使用它终止进程(进程ID为75782)...
1 | kill -9 75782 |
这个对我有用。
这是原帖子的链接:链接
如果要终止在端口号8080上运行的进程,则首先需要找到8080端口进程标识号(PID),然后将其终止。运行以下命令查找8080端口号PID:
1 | sudo lsof -t -i:8080 |
这里,
- sudo - 命令管理员权限(用户ID和密码)。
- lsof - 文件列表(也用于列出相关进程)
- -t - 仅显示进程ID
- -i - 仅显示与Internet连接相关的进程
- :8080 - 仅显示此端口号中的进程
因此,您现在可以使用以下命令轻松终止PID:
1 | sudo kill -9 <PID> |
这里,
- kill - 命令杀死进程
- -9 - 有力地
您可以使用以下命令使用一个命令终止特定端口上的进程:
1 | sudo kill -9 $(sudo lsof -t -i:8080) |
有关更多信息,请参阅以下链接
如何在linux上的特定端口上终止进程
这将打印到stdout
1 | fuser -n tcp <port_number> |
它还会向stderr打印一些东西,所以:
1 | fuser -n tcp <port_number> 2> /dev/null |
然后,我们可以将这些进程ID提供给
1 | sudo kill $(fuser -n tcp <port_number> 2> /dev/null) |
如果你做了很多,你也可以将它放在一个函数中:
1 2 3 | function killport() { sudo kill $(fuser -n tcp $1 2> /dev/null) } |
要知道在特定端口上运行的服务的pid:
1 | netstat -tulnap | grep :*port_num* |
您将获得该过程的描述。现在使用kill或kill -9 pid。容易被杀死。
例如
1 | tcp6 0 0 :::8080 :::* LISTEN 1880/java |
现在:
1 | kill -9 1880 |
请记住以
获取任务的PID并将其杀死。
1 | lsof -ti:8080 | xargs kill |
试试这样,
1 | sudo fuser -n tcp -k 8080 |
此命令列出有关在端口8000中运行的进程的信息
此命令会终止进程
Linux:首先,如果你知道端口,你可以找到这个命令的PID:
1 | netstat -tulpn |
例:-
1 2 3 | Local Address Foreign Address State PID/Program name :::3000 :::* LISTEN 15986/node |
然后你进行杀戮过程。运行以下命令:
kill -9 PID
示例: -
杀了-9 15986
Linux:如果您知道端口,则可以使用此命令:
1 | netstat -plten | grep LISTEN | grep 8080 |
AIX:
1 | netstat -Aan | grep LISTEN | grep 8080 |
然后,您将获取第一列(例如:f100050000b05bb8)并运行以下命令:
1 | rmsock f100050000b05bb8 tcpcb |
杀人过程。
您可以知道系统中运行的所有端口的列表及其详细信息(pid,地址等):
1 | netstat -tulpn |
您可以通过以下命令提供端口号来了解特定端口号的详细信息:
1 | sudo netstat -lutnp | grep -w '{port_number}' |
例如:sudo netstat -lutnp | grep -w'8080'
详细信息将提供如下:
1 | Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name |
如果你想使用pid杀死进程,那么:
如果要使用端口号终止进程:
如果您无法访问任何内容,请使用
选择端口号并在netstat命令中应用grep,如下所示
1 | netstat -ap | grep :7070 |
控制台输出
tcp 0 0 :::7070 :::* LISTEN 3332/java
基于PID(进程标识号)终止服务
1 | kill -9 3332 |
1 2 | sudo apt-get install psmisc (or sudo yum install psmisc) sudo fuser 80/tcp |
结果:
80 / tcp:1858 1867 1868 1869 1871
一个一个地杀死进程
杀死-9 1858
以@ veer7所说的为基础:
如果你想知道端口上的内容,请在杀死之前执行此操作。
1 2 3 4 5 6 7 | $ 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报告的进程数
与Git Bash的其他方式:
1 2 3 4 5 6 7 | stopProcessByPortNumber() { port=":${1}" portStrLine="$(netstat -ano | findstr LISTENING | findstr $port)" processId="$(grep -oP '(\d+)(?!.*\d)' <<< $portStrLine)" echo $processId taskkill -PID $processId -F } |
在Windows中,它将是
我们可以使用