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


当前回答

如果我是你,我会用

fuser -k -n tcp PORT
kill -9 PID

其他回答

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

您可以使用这样的管道命令

lsof -t -i :9001 | xargs sudo kill

它的作用:它接受第一个命令的输出,在本例中是在端口上运行的进程,并将其传递给sudokill。

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

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

其流程分为两个步骤:

知道端口号8080上的进程id(可以是任何)id 8689的终止进程(可以不同)热熔器-n tcp 8080#o/p 8080/tcp 8689杀死-9 8689

试试看:

lsof -i :port

or 

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

or

kill -9 <pid>

or 

sh killport 8000

您希望使用倒勾,而不是常规勾号:

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

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

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