如何在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'

1524490 次浏览

你想使用反向刻度,而不是常规刻度:

sudo kill -9 `sudo lsof -t -i:9001`

如果这不起作用,您还可以使用$()进行命令插值:

sudo kill -9 $(sudo lsof -t -i:9001)

您可以使用

fuser -n tcp -k 9001

在维基百科中查看更多详细信息

使用基尔波特命令:

sh killport 9001

要下载shell,您可以使用wget

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

有一些进程没有使用正常的netstat命令显示,所以你必须使用sudo检查它。

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

然后使用端口8080杀死进程。您可能也必须在这里使用sudo。所以要杀死这个进程,请使用sudo kill -9 PID

乌本图1-查找使用pro的应用程序/进程,键入:

sudo netstat -lpn |grep :8080

并按回车键。

您将获得类似于此的输出

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

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

3-杀死进程,类型:杀死-p 6782

kill -9 6782

使用这个:

sudo kill -9 $(lsof -t -i:9001)

杀死端口:

sudo对于显示进程ID很重要。

$ sudo netstat -antlp | grep 45136tcp      0      0 0.0.0.0:45136         0.0.0.0:*        LISTEN           **-**
$ kill -9 45136
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                 :::*                    LISTEN1000       30070621    16085/java

/java前面的数字是进程ID。现在使用杀死命令杀死进程

kill -9 16085

-9意味着进程将被强行杀死。

在Ubuntu终端中杀死端口的最佳方法是使用fuser命令;例如:

fuser -k 9001/tcp

默认情况下发送SIGKILL

杀死过程在端口号9001上运行

sudo kill -9 $(sudo lsof -t -i:9001)

lsof   - list of files(Also used for to list related processes)
-t     - show only process ID
-i     - show only internet connections related process
:9001  - show only processes in this port number
kill   - command to kill the process
-9     - forcefully
sudo   - command to ask admin privilege(user id and password).

更多你可以访问我的博客

它的两个步骤过程:

  1. 知道端口号8080上的进程ID(可以是任何)
  2. 杀死id 8689的进程(可以不同)

    fuser -n tcp 8080
    #o/p 8080/tcp    8689
    kill -9 8689

要杀死基于端口的进程,首先我们必须找出给定端口的相关pid并使用该pid杀死,

在我的情况下,我想获得3000端口的pid(进程ID):

netstat -ltnp | grep -w '3000'

然后找到正在监听tcp的pid

tcp6       0      0 :::3000                 :::*                    LISTEN      29972/node

你会得到pid29972

要杀死这个pid,请使用下面的命令

kill -9 29972

基于端口的杀死进程伪代码

 netstat -ltnp | grep -w 'PORT'

kill -9 PID

您可以使用节点处理此问题

npm install freethenport -g

然后

node freethenport 9001

显示活动的TCP连接,计算机正在侦听的端口。

netstat -tupln

它将列出您与pid的所有连接。查找并复制pid并运行以下命令。确保在以下命令中用实际id替换。

kill -9 <copied pid>

-9用于强制终止连接。

它给我一个错误OSError: [Errno 98] Address already in use。使用以下方法解决了我在Ubuntu中的错误。(VERSION="18.04.4 LTS (Bionic Beaver)"

$ sudo netstat -lpn |grep :5000tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      25959/uwsgi
$ fuser -k -n tcp 50005000/tcp:            25959 

希望它能帮助别人!

如果我是你,我会用

fuser -k -n tcp PORTkill -9 PID

xargs可能是一个非常有用的命令。

您可以像这样管道命令

lsof -t -i :9001 | xargs sudo kill

它的作用:它接受第一个命令的输出,在这种情况下是在端口上运行的进程,并将其传递给sudo kill

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

ss -lptpn | grep 9001sudo kill <replace-with-process-id>
  • 获取端口3000上运行的进程的PID:

    lsof -i tcp:3000

  • 终止进程

    kill -9 process_id

示例:
lsof -i tcp:3000
(输出中的PID=5805)
kill -9 5805

如果需要,使用sudo

您可以在终端
中使用以下命令fuser -k 3000/tcp

只需在终端中输入以下命令

kill -9 $(lsof -t -i:3000)

sudo kill -9 $(sudo lsof -t -i:9001)为我工作您可以使用

sudo kill -9 `sudo lsof -t -i:9001`

将9001替换为您想要的端口号。

sudo netstat-lpn|grep: 8080

而不是得到这个过程的PID

杀-9

您也可以使用xargs。只需运行以下操作,

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

killport <port>

在CLI中添加此代码并使用此别名。

killport () {PID=$(sudo lsof -t -i:$1)sudo kill -9 ${PID}}

只需将别名添加到您的.bashrc/.zshrc

  1. 打开新终端
  2. nano. bashrc
  3. 向下滚动并添加一个别名:alias kp='sudo kill -9 `sudo lsof -t -i: "$1"`'
  4. ctrl+x+y
  5. 源. bashrc
  6. kp9000