Проблемы часто возникают, когда процесс зависает, аварийно завершает работу или по ошибке остаётся запущенным, но продолжает удерживать порт. Давайте разберемся как выявить такой процесс.
🚀 lsof
lsof — незаменимая утилита для определения того, какой процесс использует определенный порт.
sudo lsof -i :8080
Эта команда выводит идентификатор процесса (PID), команду и пользователя, которому она принадлежит.
🚀 netstat и ss
Утилиты netstat и ss отображают PID и имя процесса аналогичным образом..
sudo netstat -tulnp | grep :8080
sudo ss -lptn 'sport = :8080'
Самый быстрый способ найти и обезвредить (не использовать на проде):
sudo kill -9 $(sudo lsof -t -i:8080)
Systemd, кстати, может автоматически перезапускать сбойную службу или уведомлять администраторов о неожиданном захвате портов. При помощи него можно автоматизировать этот процесс.
⚡️ Расскажите в комментариях какие способы используете для отлова приложений-хулиганов.
@usr_bin_linux