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


当前回答

killport <port>

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

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

其他回答

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

ss -lptpn | grep 9001   
sudo kill <replace-with-process-id>

试试看:

lsof -i :port

or 

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

or

kill -9 <pid>

or 

sh killport 8000

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

fuser -k 9001/tcp

默认情况下,这将发送SIGKILL。

使用killport命令:

sh killport 9001 

要下载shell,可以使用wget:

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

它给我一个错误OSError:[Errno 98]地址已经在使用中。使用以下方法解决了我在Ubuntu中的错误。(版本=“18.04.4 LTS(仿生海狸)”)

$ 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
 

希望它能帮助到某人!