Как убить процесс, если известен его порт? Например, если процесс выполняется на порту 12345
то как его можно прекратить в linux/ubuntu.
2 ответа
Ты можешь использовать
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
список всех прослушивающих портов:
netstat -antu
возьмите корреспондент, скажем, 80 и убейте его, используя это:
убить -9 $(lsof -i: 80-т)