Команда lsof для выяснения, какой процесс занимает порт TCP

Несколько раз случалось такое, что мне не удавалось стандартными средствами перезапустить NGiNX на сервере. Просто игнорировались все команды, и хоть ты тресни. Оставалось только одно средство — «убить» процесс командой kill, но для её запуска требуется знать PID процесса. И тут потребовалось перепробовать массу вариантов, как его узнать, пока я не наткнулся на полезную команду, которая есть в стандартном дистрибутиве Debian 9 lsof, которая и спасла в итоге ситуацию.



Как с помощью команды lsof выяснить процесс, который слушает нужный порт в Debian 9

Читать документацию по lsof пока нет желания, поэтому сразу к делу. Для того, чтобы определить, какой процесс в linux занимает 80-й порт, требуется ввести команду:

lsof -i :80 | grep LISTEN

Для того, чтобы узнать программы, слушающие другие порты, вместо 80, нужно указать номер нужного порта. Например, для порта 8080 команда будет выглядеть так:

lsof -i :8080 | grep LISTEN

Как узнать, какая программа слушает порт 22 (ssh) с помощью команды lsof

В качестве примера того, как и в каком формате выдаёт данные команда lsof, рассмотрим, что у нас в системе слушает ssh - порт 22:

root@server:~# lsof -i :22 | grep LISTEN
sshd     777 root    3u  IPv4  16470      0t0  TCP *:ssh (LISTEN)
sshd     777 root    4u  IPv6  16472      0t0  TCP *:ssh (LISTEN)
  • название процесса sshd
  • PID процесса 777
  • пользователь, под которым запущен процесс root

Как остановить процесс, который слушает порт на сервере

Узнав PID процесса, никто не помещает его остановить командой kill:

kill 777

Вместо 777 нужно ввести PID того, процесса, который требуется остановить (если больше ничего не помогает). Ну и для того, чтобы «убить» процесс наверняка, можно использовать опцию -9. Результат — всегда срабатывает:

kill -9 777

Но, лучше всё-таки, когда до kill дело не доходит и всё останавливается и запускается, в общем, реагирует по сценарию того процесса, которым требуется управлять.

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню