Answers:
这fuser 8080/tcp
将打印出绑定到该端口的进程的PID。
这fuser -k 8080/tcp
将终止该过程。
仅适用于Linux。通用性更高(使用lsof -i4
IPv6或使用6)。
fuser
。仅带一个文件,不支持-k
。
fuser: command not found
,请安装psmisc。对于CentOS / RHEL 7,运行sudo yum install psmisc
列出监听端口8080的所有进程:
lsof -i:8080
要终止监听端口8080的任何进程,请执行以下操作:
kill $(lsof -t -i:8080)
或更猛烈地:
kill -9 $(lsof -t -i:8080)
(-9
对应于SIGKILL - terminate immediately/hard kill
信号:请参见Kill Signals列表以及kill命令中-9选项的用途是什么?。如果未将信号指定给kill
,则发送TERM信号aka -15
或soft kill
发送,这有时不足以杀死一个过程。)。
sudo
sudo lsof -i:8080
。
使用命令
sudo netstat -plten |grep java
使用grep java
作为tomcat
用途java
作为他们的流程。
它将显示带有端口号和进程ID的进程列表
tcp6 0 0 :::8080 :::* LISTEN
1000 30070621 16085/java
之前的数字/java
是进程ID。现在使用kill
命令杀死进程
kill -9 16085
-9
意味着该过程将被强行杀死。
netstat
。
我将添加此单线以仅杀死特定端口上的LISTEN:
kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)
您可以使用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
如果要终止在端口号8080上运行的进程,则首先需要找到8080端口进程标识号(PID),然后终止它。运行以下命令以找到8080端口号PID:
sudo lsof -t -i:8080
这里,
因此,您现在可以使用以下命令轻松杀死PID:
sudo kill -9 <PID>
这里,
您可以使用以下命令使用一个命令来杀死特定端口上的进程:
sudo kill -9 $(sudo lsof -t -i:8080)
有关更多信息,请参见以下链接 如何在Linux上的特定端口上终止进程
sudo kill -9 $(sudo lsof -t -i:8080)
为我工作
杀死特定端口上所有进程的最佳方法;
kill -9 $(sudo lsof -t -i:8080)
这将打印出stdout上运行的所有进程的进程ID <port_number>
:
fuser -n tcp <port_number>
它还会向stderr打印一些内容,因此:
fuser -n tcp <port_number> 2> /dev/null
然后,我们可以将以下进程ID提供给kill
命令:
sudo kill $(fuser -n tcp <port_number> 2> /dev/null)
如果您经常这样做,也可以将其放在函数中:
function killport() {
sudo kill $(fuser -n tcp $1 2> /dev/null)
}
这样尝试
sudo fuser -n tcp -k 8080
选择端口号并在netstat命令中应用grep,如下所示
netstat -ap | grep :7070
控制台输出
tcp 0 0 ::: 7070 ::: * LISTEN 3332 / java
根据PID(进程标识号)终止服务
kill -9 3332
lsof -i tcp:8000
此命令列出了有关在端口8000中运行的进程的信息
kill -9 [PID]
该命令终止进程
Linux:首先,如果您知道端口,则可以找到此命令的PID:
netstat -tulpn
例:-
Local Address Foreign Address State PID/Program name
:::3000 :::* LISTEN 15986/node
然后,您执行杀死过程。运行以下命令:
杀死-9 PID
范例:-
杀死-9 15986
您可以知道系统中运行的所有端口的列表及其详细信息(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
,如果你不能够访问任何。
就我而言,cent os在建议答案中存在一些问题。所以我使用以下解决方案:
ss -tanp | grep 65432 | head -1 | grep -Po "(?<=pid=).*(?=,)" | xargs kill
我正在使用Yocto Linux系统,该系统的可用Linux工具数量有限。我想终止使用特定端口的进程(1883)。
首先,要查看我们正在监听的端口,我使用了以下命令:
root@root:~# netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:hostmon 0.0.0.0:* LISTEN
tcp 0 0 localhost.localdomain:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN
tcp 0 0 :::hostmon :::* LISTEN
tcp 0 0 localhost:domain :::* LISTEN
tcp 0 0 :::ssh :::* LISTEN
tcp 0 0 :::1883 :::* LISTEN
接下来,我通过以下方式使用端口1883找到了进程的名称:
root@root:~# fuser 1883/tcp
290
root@root:~# ps | grep 290
290 mosquitt 25508 S /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
12141 root 8444 S grep 290
如上所示,该程序/usr/sbin/mosquitto
正在使用端口1883。
最后,我取消了该过程:
root@root:~# systemctl stop mosquitto
我systemctl
在这种情况下使用它,因为它是一个systemd服务。
以@ 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报告的进程号
使用Git Bash的其他方法:
stopProcessByPortNumber() {
port=":${1}"
portStrLine="$(netstat -ano | findstr LISTENING | findstr $port)"
processId="$(grep -oP '(\d+)(?!.*\d)' <<< $portStrLine)"
echo $processId
taskkill -PID $processId -F
}
netstat -lt
fuser <port number>/tcp
kill <process id>
在Windows中,它将netstat -ano | grep "8080"
得到以下消息TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 10076
我们可以使用以下方法杀死PID taskkill /F /PID 10076