我试图在命令行中为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.

我也尝试过杀“lsof-t-I:9001”


当前回答

当使用更新版本的Ubuntu时,您将不再使用netcat,而是使用ss

ss -lptpn | grep 9001   
sudo kill <replace-with-process-id>

其他回答

对于UBUNTU1-查找使用pro的应用程序/流程,键入:

sudo netstat -lpn |grep :8080

然后按Enter键。

您将得到与此类似的输出

tcp6       0      0 :::8080                 :::*                    LISTEN      6782/java

2-我得到了进程Id,即6782,现在这是使用端口8080的进程。

3-终止进程,类型:Kill-p 6782

kill -9 6782

也可以使用xargs。只需运行以下命令,

sudo lsof-t-i:443|xargs sudo kill-9

有些进程没有使用正常的netstat命令显示,因此您必须使用sudo检查它。

执行sudo netstat-lpn | grep:8080。系统运行的进程不显示PID,要获取此进程的PID,必须使用sudo运行它

然后使用端口8080终止进程。你可能也必须在这里使用sudo。因此,要终止此进程,请使用sudo kill-9 PID

使用killport命令:

sh killport 9001 

要下载shell,可以使用wget:

wget https://cdn.rawgit.com/abdennour/miscs.sh/e0aac343/killport

使用命令

 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表示进程将被强制终止。