Как убить процесс на порту на ubuntu

Я пытаюсь убить процесс в командной строке для определенного порта в 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' а также

17 ответов


вы хотите использовать backtick не обычный ТИК:

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

Если это не работает, вы также можете использовать $() для команды интерполяции:

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

можно использовать

fuser -n tcp -k 9001 

Подробнее см. В Википедии


ДЛЯ UBUNTU 1-найдите, какое приложение / процесс использует pro, введите:

sudo netstat -lpn |grep :8080

и нажмите Enter.

вы получите выход, подобный этому

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

2-у меня есть идентификатор процесса, который составляет 6782, теперь это процесс, который использует порт 8080.

3 - убить процесс, тип: убить 6782

kill 6782

есть некоторый процесс, который не отображается с помощью обычной команды netstat, поэтому вы должны проверить его с помощью sudo.

Do sudo netstat -lpn |grep :8080. Процесс, запущенный системой, не показывает PID, чтобы получить PID этого процесса, вам придется запустить его с помощью sudo

а затем killl процесс с помощью порта 8080. Возможно, вам придется использовать Как хорошо. Поэтому, чтобы убить этот процесс, используйте sudo kill -9 PID


использовать killport команда :

sh killport 9001 

для загрузки оболочки ,вы можете использовать wget :

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

вы также можете использовать fuser для этого (отправляет SIGKILL по умолчанию): sudo fuser -k 9001/tcp


лучший способ убить порт в терминале ubuntu-это fuser -k 9001/tcp


используйте этот:

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

убить порт:

sudo важно показать идентификатор процесса.

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

$ kill -9 45136

убить процесс, запущенный на порт 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).

для больше, вы можете посетить мой блог


используйте это для процесса убийства, который работает на номер порта "9001"

 kill $(lsof -t -i:9001)

попробуйте это:

lsof -i :port

or 

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

or

kill -9 <pid>

or 

sh killport 8000

используйте команду

 netstat -plten |grep java

используется grep java, поскольку tomcat использует java в качестве своих процессов.

он покажет список процессов с номером порта и идентификатором процесса

tcp6       0      0 :::8080                 :::*                    LISTEN      
1000       30070621    16085/java

номер перед / java является идентификатором процесса. Теперь используйте команду kill, чтобы убить процесс

kill -9 16085

-9 подразумевает, что процесс будет убит насильственно.


чтобы убить процесс на основе порта сначала мы должны узнать соответствующий pid для данного порта и убить, используя этот pid,

в моем случае я хотел получить pid (идентификатор процесса) порта 3000:

netstat -ltnp | grep -w '3000'

затем найдите pid, который прослушивает tcp

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

вы получите pid 29972

чтобы убить этот pid, используйте ниже команду

kill -9 26493

псевдо-код для процесса убийства на основе порт

 netstat -ltnp | grep -w 'PORT'

и

kill -9 PID

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

вам не нужно добавлять -9параметр сигнала


его два шага процесса:

  1. знать идентификатор процесса на порту нет. 8080 (может быть любой)
  2. убить процесс этого id 8689 (может быть другим)

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

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