Как закрыть занятый порт в Linux?

Как закрыть занятый порт в Linux?


freelanceland
Работа для фрилансеров

Какие действия предпринять в случае возникновения ошибки «Address already in use»?

Не закрытые соединения занимают порт, даже после завершения программы. Чаще всего операционная система закрывает их сама по себе. Можно ли это делать вручную, и какие есть способы?

Netstat

netstat отображает сетевую активность системы. Из существующих сетевых сервисов мы можем отфильтовать интересующий нас.

sudo netstat -tulpn | grep :6001
tcp   0    0 127.0.0.1:6001     0.0.0.0:*     LISTEN      12345/python

Номер процесса, который занимает порт 12345. Принудительно уничтожим его:

sudo kill -9 12345

fuser

Утилита fuser находит номер процесса по порту.

fuser 6001/tcp
6001/tcp:            12345

С помощью флага -k процесс будет остановлен.

fuser -k 6001/tcp

lsof

lsof - отображает все процессы связанные с файловыми дескрипторами. С помощью флага — i можно фильтровать сетевые сокеты:

lsof -i :6001
COMMAND   PID     USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
python  11778 uralbash    7u  IPv4 5754939      0t0  TCP localhost:http-alt (LISTEN)

Как закрыть процесс в Linux по названию

Популярное

Установка PostgreSQL 13 в Debian 11/10/9
phpStorm горячие клавиши
Уведомление о входе на сервер по SSH в Telegram

Возврат к списку