vee*_*er7 640 unix linux port kill-process
我尝试使用./shutdown.sh
tomcat /bin
目录关闭tomcat .但发现服务器没有正常关闭.因此我无法重启
我的tomcat正在端口上运行8080
.
我想杀死运行的tomcat进程8080
.我首先想要在特定端口(8080)上运行进程列表,以便选择要杀死的进程.
nud*_*dzo 822
这fuser 8080/tcp
将打印您在该端口上绑定的进程的PID.
这fuser -k 8080/tcp
将杀死这个过程.
仅适用于Linux.更普遍的是使用lsof -i4
(或6用于IPv6).
Fra*_*urt 599
要列出监听端口8080的任何进程:
lsof -i:8080
Run Code Online (Sandbox Code Playgroud)
要杀死侦听端口8080的任何进程:
kill $(lsof -t -i:8080)
Run Code Online (Sandbox Code Playgroud)
或者更猛烈地:
kill -9 $(lsof -t -i:8080)
Run Code Online (Sandbox Code Playgroud)
(-9
对应于SIGKILL - terminate immediately/hard kill
信号:参见杀戮信号列表和kill命令中-9选项的用途是什么?.如果没有指定信号kill
,TERM信号又称-15
或被soft kill
发送,有时不足以杀死一个过程.).
vee*_*er7 244
使用该命令
sudo netstat -plten |grep java
Run Code Online (Sandbox Code Playgroud)
使用grep java
作为tomcat
使用java
它们的过程.
它将显示具有端口号和进程ID的进程列表
tcp6 0 0 :::8080 :::* LISTEN
1000 30070621 16085/java
Run Code Online (Sandbox Code Playgroud)
之前的数字/java
是进程ID.现在使用kill
命令来终止进程
kill -9 16085
Run Code Online (Sandbox Code Playgroud)
-9
意味着这个过程将被强行杀死.
Gal*_*cha 139
我会在特定端口上仅为LISTEN添加此单行:
kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)
dlm*_*tei 130
一个班轮
kill -9 $(lsof -t -i tcp:8080)
Run Code Online (Sandbox Code Playgroud)
说明此处使用的组合lsof
和kill
root@localhost:~# lsof -i tcp:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 23672 sine 238u IPv6 3028222 0t0 TCP localhost:http-alt (LISTEN)
Run Code Online (Sandbox Code Playgroud)
选择pid并使用 kill
kill 23672
Run Code Online (Sandbox Code Playgroud)
Kop*_*lyf 107
您可以使用lsof命令.这里的端口号是8090
lsof -i:8090
Run Code Online (Sandbox Code Playgroud)
此命令返回此端口上的打开进程列表.
就像是…
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ssh 75782 eoin 5u IPv6 0x01c1c234 0t0 TCP localhost:8090 (LISTEN)
Run Code Online (Sandbox Code Playgroud)
要释放端口,请使用它终止进程(进程ID为75782)...
kill -9 75782
Run Code Online (Sandbox Code Playgroud)
Ber*_*ğlu 76
杀死特定端口上所有进程的最佳方法;
kill -9 $(sudo lsof -t -i:8080)
Run Code Online (Sandbox Code Playgroud)
Mah*_*fuz 71
如果要终止在端口号8080上运行的进程,则首先需要找到8080端口进程标识号(PID),然后将其终止.运行以下命令查找8080端口号PID:
sudo lsof -t -i:8080
Run Code Online (Sandbox Code Playgroud)
这里,
因此,您现在可以使用以下命令轻松终止PID:
sudo kill -9 <PID>
Run Code Online (Sandbox Code Playgroud)
这里,
您可以使用以下命令使用一个命令终止特定端口上的进程:
sudo kill -9 $(sudo lsof -t -i:8080)
Run Code Online (Sandbox Code Playgroud)
有关更多信息,您可以看到以下链接 如何在linux上的特定端口上终止进程
Bri*_*son 39
这将打印到stdout运行的所有内容的进程ID <port_number>
:
fuser -n tcp <port_number>
Run Code Online (Sandbox Code Playgroud)
它还会向stderr打印一些东西,所以:
fuser -n tcp <port_number> 2> /dev/null
Run Code Online (Sandbox Code Playgroud)
然后我们可以为kill
命令提供这些进程ID :
sudo kill $(fuser -n tcp <port_number> 2> /dev/null)
Run Code Online (Sandbox Code Playgroud)
如果你做了很多,你也可以将它放在一个函数中:
function killport() {
sudo kill $(fuser -n tcp $1 2> /dev/null)
}
Run Code Online (Sandbox Code Playgroud)
小智 33
要知道在特定端口上运行的服务的pid:
netstat -tulnap | grep :*port_num*
Run Code Online (Sandbox Code Playgroud)
您将获得该过程的描述.现在使用kill或kill -9 pid.容易被杀死.
例如
netstat -ap | grep :8080
tcp6 0 0 :::8080 :::* LISTEN 1880/java
Run Code Online (Sandbox Code Playgroud)
现在:
kill -9 1880
Run Code Online (Sandbox Code Playgroud)
记得以所有命令运行 root
Rah*_*arg 28
获取任务的PID并将其杀死.
lsof -ti:8080 | xargs kill
Run Code Online (Sandbox Code Playgroud)
Ans*_*han 28
首先你需要做的是运行(用你的端口号替换):
fuser -k 3000/tcp
Run Code Online (Sandbox Code Playgroud)
这将释放端口。运行上述命令后,运行:
service docker restart
Run Code Online (Sandbox Code Playgroud)
你的问题就解决了。
小智 12
Linux:首先,如果你知道端口,你可以找到这个命令的PID:
netstat -tulpn
Run Code Online (Sandbox Code Playgroud)
例:-
Local Address Foreign Address State PID/Program name
:::3000 :::* LISTEN 15986/node
Run Code Online (Sandbox Code Playgroud)
然后你进行杀戮过程.运行以下命令:
kill -9 PID
示例: -
杀了-9 15986
Lov*_*uri 11
选择端口号并在netstat命令中应用grep,如下所示
netstat -ap | grep :7070
Run Code Online (Sandbox Code Playgroud)
控制台输出
tcp 0 0 ::: 7070 ::: * LISTEN 3332 / java
根据PID(进程标识号)终止服务
kill -9 3332
Run Code Online (Sandbox Code Playgroud)
小智 11
运行以下命令查找 8080 端口号 PID:
须藤 lsof -t -i:8080
您现在可以使用以下命令轻松终止您的 PID:
须藤杀 -9
您可以使用以下命令使用一个命令来终止特定端口上的进程:
须藤杀 -9 $(须藤 lsof -t -i:8000)
ben*_*oez 10
Linux:如果您知道端口,则可以使用此命令:
netstat -plten | grep LISTEN | grep 8080
Run Code Online (Sandbox Code Playgroud)
AIX:
netstat -Aan | grep LISTEN | grep 8080
Run Code Online (Sandbox Code Playgroud)
然后,您将获取第一列(例如:f100050000b05bb8)并运行以下命令:
rmsock f100050000b05bb8 tcpcb
Run Code Online (Sandbox Code Playgroud)
杀人过程.
小智 8
您可以知道系统中运行的所有端口的列表及其详细信息(pid,地址等):
netstat -tulpn
Run Code Online (Sandbox Code Playgroud)
您可以通过在以下命令中提供端口号来了解特定端口号的详细信息:
sudo netstat -lutnp | grep -w '{port_number}'
Run Code Online (Sandbox Code Playgroud)
例如:sudo netstat -lutnp | grep -w'8080'的详细信息将如下所示:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
Run Code Online (Sandbox Code Playgroud)
如果要使用pid终止进程,则:kill -9 {PID}
如果要使用端口号终止进程:fuser -n tcp {port_number}
使用sudo
,如果你不能够访问任何。
小智 6
sudo apt-get install psmisc (or sudo yum install psmisc)
sudo fuser 80/tcp
Run Code Online (Sandbox Code Playgroud)
结果:80/TCP:1858 1867 1868 1869 1871
一个一个进程杀掉
杀-9 1858
只需运行此命令。不要忘记portnumber
用您的端口替换, ;)
kill -9 $(sudo lsof -t -i:portnumber)
Run Code Online (Sandbox Code Playgroud)
这是 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
Run Code Online (Sandbox Code Playgroud)
我正在开发 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
Run Code Online (Sandbox Code Playgroud)
接下来,我通过以下方式找到使用端口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
Run Code Online (Sandbox Code Playgroud)
正如我们在上面看到的,该程序/usr/sbin/mosquitto
正在使用端口 1883。
最后,我杀死了这个进程:
root@root:~# systemctl stop mosquitto
Run Code Online (Sandbox Code Playgroud)
我使用它是systemctl
因为在本例中它是一个 systemd 服务。