Несколько раз случалось такое, что мне не удавалось стандартными средствами перезапустить 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:
Что такое порт и что такое сокет. Курс IT для начинающих.
[email protected]:~# 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 дело не доходит и всё останавливается и запускается, в общем, реагирует по сценарию того процесса, которым требуется управлять.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Выберите, то, чем пользуетесь чаще всего:
Источник: mb4.ru
Русские Блоги
Как проверить, занят ли порт и какая программа занята под компьютером win10
(1) окно + R ввод cmd

(2) Введите команду DOS: netstat -aon, чтобы просмотреть все порты, занятые соответствующим процессом.
За двоеточием локального адреса следует номер порта, а число в последнем столбце — это номер процесса. Например, вот такой: Порт 80 занят процессом с номером процесса 14068.

(3) МыЧтобы узнать, какая программа является процессом 14068, Введите команду DOS: список задач | findstr «14068»
Прослушать порт программой

Процесс httpd.exe занимает порт
(4) Открываем диспетчер задач, в «подробностях» видно процесс
Источник: russianblogs.com
Какой процесс занимает порт
Частенько появляется необходимость узнать, какой из запущенных процессов занимает определенный сетевой порт. Особенно это актуально если порт не относится к числу стандартных, то есть 22,21,80 и т.д. и так понятно кто занимает (SSH, FTP, HTTP), тем более что в выдаче netstat, это написано после PID процесса, но бывают исключения. Например, смотрим вывод netstat’а
Порт 6010, имя процесса не известно, зато известен PID процесса, это 1548. По номеру PID смотрим что это за процесс:
Ну или можно более подробно, используя lsof:
Порт 6010 используется сервисом openssh для X11 forwarding (проброска графических рабочих столов). Если этот функционал не используется, лучше отключить его в файле конфигурации sshd сервера /etc/ssh/sshd_config
X11Forwarding no
после чего нужно перезапустить и сервис и переподключиться. В windows это можно сделать так,жмем WIN+R, вписываем cmd, жмем Ok, далее уже в командной строке
netstat -an . TCP 0.0.0.0:10001 0.0.0.0:0 LISTENING 1592 .
PID процесса указан в последней колонке. Далее выполняем команду
tasklist | findstr «1592» tonido.exe 1592 Console 1 25 960 КБ
Источник: vds-admin.ru