Главная  /  Помощь  /  Какая программа заняла порт и как его освободить

Какая программа заняла порт и как его освободить

Ошибка «Address already in use»: как узнать, кто слушает порт, и как штатно остановить службу или завершить процесс.

Содержание

Служба не запускается с ошибкой «Address already in use» — значит, порт уже занят другой программой. Сначала узнайте, какой.

Кто занял порт

sudo ss -ltnp 'sport = :80'

В выводе будут имя программы и номер процесса (pid). Буквы в ключе: l — слушающие порты, t — TCP (u — UDP), n — номера портов вместо названий, p — процессы. Все занятые порты сразу: sudo ss -ltnp.

То же другими командами: sudo lsof -i :80 или sudo fuser -v -n tcp 80, если они установлены. Во FreeBSD: sockstat -4 -l -p 80.

Как освободить

Если порт держит служба, остановите её штатно — тогда она не запустится снова сама:

sudo systemctl stop nginx
sudo systemctl disable nginx   # если служба не нужна и после перезагрузки

Если это отдельный или зависший процесс, завершите его по номеру:

sudo kill 1524      # попросить процесс завершиться
sudo kill -9 1524   # принудительно — если через несколько секунд процесс ещё жив
Внимание kill -9 не даёт программе сохранить данные. Базу данных так не останавливайте — только через её службу.
Не нашли ответ? Напишите в поддержку — подскажем.

Контакты (495) 664-22-98 или Написать нам

© 2026 Транзит Телеком · Все права защищены