Как освободить порт ubuntu
Перейти к содержимому

Как освободить порт ubuntu

  • автор:

Форум русскоязычного сообщества Ubuntu

Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

  • Форум русскоязычного сообщества Ubuntu »
  • Архив »
  • Архив »
  • Архив тем до 2016г »
  • Помогите освободить порт

Страницы: [1] Вниз

Автор Тема: Помогите освободить порт (Прочитано 3643 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Страницы: [1] Вверх

  • Форум русскоязычного сообщества Ubuntu »
  • Архив »
  • Архив »
  • Архив тем до 2016г »
  • Помогите освободить порт

Страница сгенерирована за 0.028 секунд. Запросов: 23.

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Как освободить порты?

Я запустил на сервере пример веб-сервера Торнадо. Потом остановил. Сейчас при попытке повторного запуска выдает Error: Address in use. ОС Amazon Linux AMI на Amazon Web Services.

skeeph
24.04.12 06:45:15 MSK

Значит он не остановился. Можешь попробовать сделать netstat -lp, оно покажет открытые порты и кем они открыты, и дальше уже решить что делать с тем, кто оккупирует порт (например: kill -9)

RH_ ★
( 24.04.12 06:54:24 MSK )
Ответ на: комментарий от RH_ 24.04.12 06:54:24 MSK

Не получается

Не могу понять кто захватчик. Команда выдает

 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 *:garcon *:* LISTEN 31644/python tcp 0 0 *:mysql *:* LISTEN 29170/mysqld tcp 0 0 *:http *:* LISTEN 31427/python tcp 0 0 *:ftp *:* LISTEN 21579/vsftpd tcp 0 0 *:ssh *:* LISTEN 19411/sshd tcp 0 0 localhost:smtp *:* LISTEN 1197/sendmail tcp 0 0 *:garcon *:* LISTEN 31644/python tcp 0 0 *:http *:* LISTEN 31427/python tcp 0 0 *:ssh *:* LISTEN 19411/sshd udp 0 0 *:bootpc *:* 981/dhclient udp 0 0 domU-12-31-39-10-54-65.c:ntp *:* 19473/ntpd udp 0 0 localhost:ntp *:* 19473/ntpd udp 0 0 *:ntp *:* 19473/ntpd udp 0 0 fe80::1031:39ff:fe10:546:ntp *:* 19473/ntpd udp 0 0 localhost:ntp *:* 19473/ntpd udp 0 0 *:ntp *:* 19473/ntpd Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node PID/Program name Path unix 2 [ ACC ] STREAM LISTENING 709296 29170/mysqld /var/lib/mysql/mysql.sock unix 2 [ ACC ] STREAM LISTENING 4675 1278/gam_server @/tmp/fam-root- unix 2 [ ACC ] STREAM LISTENING 1140 1/init @/com/ubuntu/upstart unix 2 [ ACC ] STREAM LISTENING 2142 1054/dbus-daemon /var/run/dbus/system_bus_socket unix 2 [ ACC ] SEQPACKET LISTENING 646066 14270/udevd @/org/kernel/udev/udevd 

Как удалить процесс на порту

Как с легкостью завершить (убить, удалить) уже запущенный процесс на порту.

Tools · 28.09.2020 · читать 1 мин �� · Автор: Alexey Myzgin

Одна из самых неприятных вещей во время разработки — это момент, когда ты сталкиваешься со следующей ошибкой в командной строке при попытке запустить приложение локально:

Server Error: this port is already in use

В большинстве случаев это означает, что мы забыли о процессе, который работает в фоновом режиме, или думали, что «убили» тот процесс, но на самом деле этого не произошло, поскольку мы не использовали CTRL + C .

На машине Linux / Mac эта команда может помочь:

lsof -ti tcp:[PORT] | xargs kill

Чтобы понять, что же происходит, давай разберем это пошагово:

  • lsof используется для вывода списка открытых файлов, чтобы можно было отслеживать процессы, которые прослушивают определенный порт;
  • -i используется для поиска желаемого порта;
  • -t используется для возврата только PID (идентификатор процесса), который мы ищем;
  • | используется для передачи списка найденных PID следующей команде;
  • xargs используется для применения kill к каждому из этих PID ;
  • kill фактически «убивает» каждый PID . Возможно, если процессы нужно «убить» принудительно, нам понадобиться использовать kill -9 .

Более простой подход

А сейчас давай рассмотрим более простое решение, которое можно использовать:

# One port npx kill-port [PORT] # Multiple ports npx kill-port [PORT1] [PORT2] [PORTN]

Легче, правда? Таким образом мы извлекаем kill-port пакета npm , чтобы он мог сделать за нас всю грязную работу.

Он гораздо декларативнее и не требует пояснений, поэтому его определенно проще запомнить.

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

Какие действия предпринять в случае возникновения ошибки «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)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *