如何杀死ubuntu上端口上的进程

时间:2012-02-19 02:44:34

标签: ubuntu port kill

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

27 个答案:

答案 0 :(得分:621)

你想使用反引号而不是常规刻度:

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

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

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

答案 1 :(得分:193)

你可以使用

fuser -n tcp -k 9001 

see more details in wikipedia

答案 2 :(得分:55)

FOR UBUNTU 1-找到使用专业人士的应用程序/进程,输入:

sudo netstat -lpn |grep :8080

然后按Enter键。

您将获得与此类似的输出

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

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

3-杀死进程,输入:kill 6782

kill 6782

答案 3 :(得分:30)

有一些过程没有使用普通的netstat命令显示,因此您必须使用sudo进行检查。

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

运行它

然后使用端口8080终止进程。您可能还必须在此处使用sudo。因此,要使用sudo kill -9 PID

来终止此过程

答案 4 :(得分:25)

在ubuntu终端中杀死端口的最佳方法是 fuser -k 9001/tcp

答案 5 :(得分:16)

使用killport命令:

sh killport 9001 

要下载shell,您可以使用wget

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

答案 6 :(得分:14)

您也可以使用fuser来执行此操作(默认情况下发送SIGKILL): output_d

答案 7 :(得分:9)

要终止ubuntu中的端口服务,请在终端中输入以下命令

在终端:

tidyverse

答案 8 :(得分:8)

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

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

netstat -ltnp | grep -w '3000'

然后找到正在监听tcp的pid

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

您将获得pid 29972

要杀死此pid,请使用以下命令

kill -9 26493

用于基于端口的终止进程的伪代码

 netstat -ltnp | grep -w 'PORT'

kill -9 PID

答案 9 :(得分:7)

使用此:

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

答案 10 :(得分:6)

要终止在端口号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).

了解更多内容,您可以访问我的blog

答案 11 :(得分:4)

杀死PORT:

sudo对于显示流程ID非常重要。

$ sudo netstat -antlp | grep 45136
tcp      0      0 0.0.0.0:45136         0.0.0.0:*        LISTEN           **-** 

$ kill -9 45136

答案 12 :(得分:3)

将此用于终止在端口号" 9001"

上运行的进程
 kill $(lsof -t -i:9001)

答案 13 :(得分:3)

试试这个:

lsof -i :port

or 

sudo kill $(sudo lsof -t -i:8000)

or

kill -9 <pid>

or 

sh killport 8000

答案 14 :(得分:2)

如果我是你,我会用

fuser -k -n tcp PORT
kill -9 PID

答案 15 :(得分:2)

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

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

$ fuser -k -n tcp 5000
5000/tcp:            25959
 

希望它将对某人有所帮助!

答案 16 :(得分:2)

  

sudo热熔器-n tcp -k [端口号]

     

sudo lsof -t -i:[端口号]

答案 17 :(得分:2)

只需输入

    fuser -k -n tcp 3000

在终端中,其中3000是您的端口号

答案 18 :(得分:1)

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

你可以像这样管道命令

lsof -t -i :9001 | xargs sudo kill

它的作用: 它获取第一个命令的输出,在本例中是在端口上运行的进程,并将其传递给 sudo kill

答案 19 :(得分:1)

它分为两个步骤:

  1. 了解端口号上的进程ID 8080(可以是任意值)
  2. ID为8689的杀死进程(可以不同)

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

答案 20 :(得分:1)

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

您不必添加-9信号选项

答案 21 :(得分:0)

尝试sudo fuser PORT/tcp -kPORT替换为您要终止的端口,例如80

答案 22 :(得分:0)

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

netstat -tupln

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

kill -9 <copied pid>
  

-9用于强制终止连接。

答案 23 :(得分:0)

您可以使用节点工作

npm install freethenport -g

然后

node freethenport 9001

答案 24 :(得分:0)

  

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

可用于终止进程。您可以使用任何端口号代替9001

答案 25 :(得分:0)

以下命令将杀死您正在运行的端口

echo "from=<test@test.ch>    to=<test@test.ch>" | grep -E -o  '([^=]*\s)[ ]*\1'

答案 26 :(得分:0)

sudo kill $(sudo lsof -t -i:1337)