首页 文章

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

提问于
浏览
281

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

18 回答

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

    您不必添加 -9 信号选项

  • 5

    它的两个步骤过程:

    • 了解端口号上的进程ID . 8080(可以是任何)

    • 杀死那个id 8689的过程(可以是不同的)

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

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

  • 0

    你可以使用节点来工作

    npm install freethenport -g
    

    然后

    node freethenport 9001
    
  • 8

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

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

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

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

    您可以使用

    fuser -n tcp -k 9001
    

    see more details in wikipedia

  • 157

    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
    
  • 16

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

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

    然后使用端口 8080 终止进程 . 你可能也必须在这里使用 sudo . 所以要杀死这个进程使用 sudo kill -9 PID

  • 28

    使用killport命令:

    sh killport 9001
    

    要下载shell,您可以使用 wget

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

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

  • 47

    您也可以使用fuser来执行此操作(默认情况下发送SIGKILL): sudo fuser -k 9001/tcp

  • 3

    用这个:

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

    杀死在端口号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

  • 4

    要先根据端口终止进程,我们必须找到给定端口的相关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
    

    基于端口的kill进程的伪代码

    netstat -ltnp | grep -w 'PORT'
    

    kill -9 PID
    
  • 16

    杀死港口:

    sudo 对于显示进程ID非常重要 .

    $ sudo netstat -antlp | grep 45136
    tcp      0      0 0.0.0.0:45136         0.0.0.0:*        LISTEN           **-** 
    
    $ kill -9 45136
    
  • 1

    用于终止在端口号“9001”上运行的进程

    kill $(lsof -t -i:9001)
    
  • 3

    试试这个:

    lsof -i :port
    
    or 
    
    sudo kill $(sudo lsof -t -i:8000)
    
    or
    
    kill -9 <pid>
    
    or 
    
    sh killport 8000
    
  • 0

    使用该命令

    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意味着该过程将被强行杀死 .

相关问题