如何杀死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