5

Как убить процесс, если известен его порт? Например, если процесс выполняется на порту 12345 то как его можно прекратить в linux/ubuntu.

2 ответа2

10

Ты можешь использовать

sudo netstat -tupln

показать что слушает по какому порту. Вы должны увидеть нечто похожее на это (я несколько упростил вывод).

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2472/apache2

Этот четвертый столбец (0.0.0.0:80 в моем примере) покажет вам номер порта (здесь 80), а последний столбец (2472/apache2) покажет вам PID (2472).

Вы можете затем выпустить

sudo kill -15 PID

где PID - это PID, который мы нашли с помощью предыдущей команды. Это отправит SIGTERM в процесс. Если это не поможет, вам может понадобиться

sudo kill -9 PID

но это, как правило, менее дружественный способ убить процесс. Для получения дополнительной информации, вы должны оформить заказ

man kill
1
  1. список всех прослушивающих портов:

    netstat -antu

  2. возьмите корреспондент, скажем, 80 и убейте его, используя это:

    убить -9 $(lsof -i: 80-т)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .