如何杀死Ubuntu上的一个端口进程
我试图杀死一个在Ubuntu的特定端口的命令行进程。
如果我运行这个命令,我得到的端口:
sudo lsof -t -i:9001
所以…现在我想运行:
sudo kill 'sudo lsof -t -i:9001'
我得到这个错误消息:
ERROR: garbage process ID "lsof -t -i:9001". Usage: kill pid ... Send SIGTERM to every process listed. kill signal pid ... Send a signal to every process listed. kill -s signal pid ... Send a signal to every process listed. kill -l List all signal names. kill -L List all signal names in a nice table. kill -l signal Convert between signal numbers and names.
我尝试了sudo kill 'lsof -t -i:9001'
你想用反引号不定时打勾:
sudo kill `sudo lsof -t -i:9001`
如果这不起作用,你也可以使用$()
进行命令插值:
sudo kill $(sudo lsof -t -i:9001)
您可以使用
fuser -n tcp -k 9001
在wikipedia中查看更多详情
有一些进程没有使用普通的netstat命令显示,所以你必须使用sudo
来检查它。
做sudo netstat -lpn |grep :8080
。 由系统运行的进程不显示PID,为了得到这个进程的PID,你将不得不使用sudo
运行它
然后使用端口8080
杀死进程。 你也可以在这里使用sudo
。 所以杀死这个过程使用sudo kill -9 PID
对于UBUNTU 1-查找使用pro的应用程序/进程,键入:
sudo netstat -lpn |grep :8080
然后按Enter键。
你会得到一个类似于这个的输出
tcp6 0 0 :::8080 :::* LISTEN 6782/java
我得到了进程Id,这是6782,现在这是使用端口8080的进程。
杀死进程,input:kill 6782
kill 6782
使用killport命令:
sh killport 9001
要下载shell,可以使用wget
:
wget https://cdn.rawgit.com/abdennour/miscs.sh/e0aac343/killport
您也可以使用fuser来做到这一点(默认发送SIGKILL): sudo fuser -k 9001/tcp
用这个:
sudo kill -9 $(lsof -t -i:9001)
杀死PORT:
sudo
显示进程ID很重要。
$ sudo netstat -antlp | grep 45136 tcp 0 0 0.0.0.0:45136 0.0.0.0:* LISTEN **-** $ kill -9 45136
使用此命令来查杀在端口号“9001”上运行的进程
kill $(lsof -t -i:9001)
sudo kill `sudo lsof -t -i:9001`
您不必添加-9
信号选项
尝试这个:
lsof -i :port or sudo kill $(sudo lsof -t -i:8000) or kill -9 <pid> or sh killport 8000
使用该命令
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意味着这一进程将被强行杀死。
在ubuntuterminal中杀死一个端口的最好方法是fuser -k 9001/tcp