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

Tam*_*mpa 407 ubuntu port kill

我试图在命令行中为ubuntu中的特定端口杀死一个进程.

如果我运行此命令,我会得到端口:

sudo lsof -t -i:9001
Run Code Online (Sandbox Code Playgroud)

所以...现在我想跑:

sudo kill 'sudo lsof -t -i:9001'
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

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.
Run Code Online (Sandbox Code Playgroud)

我也试过sudo kill 'lsof -t -i:9001'

zel*_*lio 742

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

sudo kill -9 `sudo lsof -t -i:9001`
Run Code Online (Sandbox Code Playgroud)

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

sudo kill -9 $(sudo lsof -t -i:9001)
Run Code Online (Sandbox Code Playgroud)

  • 你忘了添加信号选项.应该读:`sudo kill -9 $(sudo lsof -t -i:9001)` (38认同)
  • @FrancescoGramano:除非必须,否则你不想使用-9. (5认同)
  • 当 `sudo kill` 无法终止进程时,@putra.koreng 的方法效果很好 (2认同)
  • 如果上述方法不起作用,请尝试以下方法:/sf/answers/3536110791/ (2认同)

小智 219

您可以使用

fuser -n tcp -k 9001 
Run Code Online (Sandbox Code Playgroud)

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

  • 如果不是 root: sudo fuser -n tcp -k 9001 (2认同)

Moh*_*ngh 61

FOR UBUNTU 1-查找使用专业版的应用程序/进程,输入:

sudo netstat -lpn |grep :8080
Run Code Online (Sandbox Code Playgroud)

然后按Enter键.

您将获得与此类似的输出

tcp6       0      0 :::8080                 :::*                    LISTEN      6782/java
Run Code Online (Sandbox Code Playgroud)

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

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

kill 6782
Run Code Online (Sandbox Code Playgroud)

  • 简短而清晰的回复 (3认同)
  • @MuhammadTariq 尝试使用kill -9 {PID} (3认同)
  • 这对我不起作用。即使我尝试在 Ubuntu 20.04 上使用 `sudo` 来终止进程 (2认同)
  • 步骤 3:回复:kill -p 6782 by:kill -9 6782 -> 它对我有用 (2认同)

Use*_*012 33

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

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

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


Vis*_*abu 32

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

  • 对我来说完美无缺 (4认同)
  • 为我工作了非常感谢 (2认同)

Tow*_*lam 20

killport <port>
Run Code Online (Sandbox Code Playgroud)

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

killport <port>
Run Code Online (Sandbox Code Playgroud)

  • 很久以来见过的最佳答案! (2认同)

Abd*_*UMI 17

使用killport命令:

sh killport 9001 
Run Code Online (Sandbox Code Playgroud)

要下载shell,您可以使用wget:

wget https://cdn.rawgit.com/abdennour/miscs.sh/e0aac343/killport
Run Code Online (Sandbox Code Playgroud)

  • 如果它不工作,这意味着目标端口已经关闭 (2认同)

小智 16

让我们考虑一下如果你想杀死一个端口 3000。

第 1 步:运行此命令,这将为您提供其 PID。

sudo lsof -t -i:3000
Run Code Online (Sandbox Code Playgroud)

这返回给我的 PID 为 291141

步骤 2:运行此命令以使用 PID 终止端口。

sudo kill -9 291141
Run Code Online (Sandbox Code Playgroud)

繁荣!!!港口被杀


Dmi*_*san 15

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


小智 14

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

在终端:

sudo fuser -k port/tcp
sudo fuser -k 8001/tcp
Run Code Online (Sandbox Code Playgroud)

  • 这只是一个命令,它可以完美工作:) (2认同)

PHP*_*ies 14

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

sudo kill -9 `sudo lsof -t -i:9001` 
Run Code Online (Sandbox Code Playgroud)

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


Nis*_*mar 11

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

kill -9 $(lsof -t -i:3000)
Run Code Online (Sandbox Code Playgroud)


小智 10

要先根据端口终止进程,我们必须找到给定端口的相关pid并使用该pid终止,

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

netstat -ltnp | grep -w '3000'
Run Code Online (Sandbox Code Playgroud)

然后找到正在听tcp的pid

tcp6       0      0 :::3000                 :::*                    LISTEN      29972/node  
Run Code Online (Sandbox Code Playgroud)

你会得到pid 29972

要使用以下命令杀死此pid

kill -9 29972
Run Code Online (Sandbox Code Playgroud)

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

 netstat -ltnp | grep -w 'PORT'
Run Code Online (Sandbox Code Playgroud)

kill -9 PID
Run Code Online (Sandbox Code Playgroud)


del*_*pha 8

用这个:

sudo kill -9 $(lsof -t -i:9001)
Run Code Online (Sandbox Code Playgroud)


小智 8

只需输入

    fuser -k -n tcp 3000
Run Code Online (Sandbox Code Playgroud)

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


Ara*_*ngh 7

杀死在端口号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).
Run Code Online (Sandbox Code Playgroud)

您可以访问我的博客


Nav*_*mar 6

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


小智 5

杀死端口:

sudo 显示进程 ID 很重要。

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

$ kill -9 45136
Run Code Online (Sandbox Code Playgroud)


arv*_*ind 5

使用它来杀死在端口号“9001”上运行的进程

 kill $(lsof -t -i:9001)
Run Code Online (Sandbox Code Playgroud)


kum*_*esh 5

使用命令

 netstat -plten |grep java
Run Code Online (Sandbox Code Playgroud)

使用 grep java 作为 tomcat 使用 java 作为他们的进程。

它将显示带有端口号和进程 ID 的进程列表

tcp6       0      0 :::8080                 :::*                    LISTEN      
1000       30070621    16085/java
Run Code Online (Sandbox Code Playgroud)

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

kill -9 16085
Run Code Online (Sandbox Code Playgroud)

-9 表示进程将被强制终止。


小智 5

sudo fuser -n tcp -k [port_number]

须藤 lsof -t -i:[port_number]


小智 5

如果我是你,我会使用

fuser -k -n tcp PORT
kill -9 PID
Run Code Online (Sandbox Code Playgroud)


kna*_*tas 5

.bashrc只需向您的/添加一个别名.zshrc

  1. 打开新终端
  2. 纳米.bashrc
  3. 向下滚动并添加别名: alias kp='kill_process_by_port() { sudo kill -9 $(sudo lsof -t -i:"$1"); }; kill_process_by_port "$@"'
  4. Ctrl + x + y
  5. 源.bashrc
  6. 9000 克普