Какая программа заняла порт linux

Во время разработки периодически возникают ситуации, когда вы запустили, например, NodeJs сервер и в какой-то момент произошла ошибка. Вы прерываете процесс через Ctrl+C , запускаете сервер заново, но в ответ видите ошибку Error: listen EADDRINUSE: address already in use . 3000 . Самое неприятное с этой ошибкой то, что вы вроде бы остановили процесс, однако несмотря на это, процесс так и не освободил порт и все еще крутится где-то в памяти. В этом посте речь пойдет о том, как отловить такие процессы и все же убить их.

Чтобы убить процесс в linux, вам необходимо использовать команду kill с сигналом 9 (SIGKILL):

kill -9 PID>

Чтобы получить process id (PID), нужно выполнить другую команду. При чем в конкретно нашей ситуации, нам нужно найти процесс по номеру порта, который он занял. Разновидностей команд для решения такой задачи есть довольно много и далеко не все из этих программ будут установлены в системе, с которой вам придется работать.

Потому далее предлагаю несколько альтернативных команд, чтобы было из чего выбирать. Начну с той, которую обычно использую сам.

Работа с COM-портом (RS-232) в Linux

Обратите внимание, если процесс был запущен на порту :80 или если он был запущен другим юзером, скорее всего вам понадобится добавить sudo , чтобы выполнить команду с правами администратора, иначе со своего юзера вы либо не сможете увидеть процессы, либо не увидите их PID.

Чтобы проверить какой процесс слушает на порту 3000 , необходимо ввести следующую команду:

Читайте также:
Как отключить автообновление программ на Самсунг

lsof -i :3000

Расшифровку ключей можно посмотреть здесь

В ответ получите нечто на подобии этого:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME node 241907 sleepwalker 38u IPv6 3609283 0t0 TCP *:3000 (LISTEN)

Можно так же передать флаг -t , чтобы получить только pid. Это дает возможность убить нужный процесс в одну строку:

kill -9 $(lsof -t -i:3000)

Источник: udf.su

Проверка занят ли порт на Linux или Unix

Как определить используется порт на Linux или Unix-подобной системах.Как я могу проверить, какие порты прослушиваются на сервере Linux?

Важно, знать, какие порты находятся в официальном списке сетевых интерфейсов сервера. Вам нужно обратить внимание, при открытии портов из-за возможных попыток взлома. Помимо вторжения, для устранения неполадок, может потребоваться, проверить, порт уже используется другим приложением на ваших серверах. Например, вы можете установить сервер Apache и Nginx на той же системе.

Поэтому необходимо знать, если Apache или Nginx использует TCP порт # 80/443. Это краткое руководство содержит шаги, как использовать NetStat, Nmap и LSOF команды, чтобы проверить порты в использовании и просмотреть приложение, которое использует порт.

Как проверить порты прослушивания и приложений на Linux:

  1. Откройте приложение терминала т.е. приглашение оболочки.
  2. Выполните любое из следующих команд:

Ubuntu. Как проверить открытые порты? NMAP

Источник: system-admins.ru

Проверьте, какие порты и процессы запущены в Ubuntu

Favorite

Добавить в избранное

Главное меню » Проверьте, какие порты и процессы запущены в Ubuntu

21 августа 2021

Операционная система Ubuntu

П еред подключением к порту или отладкой вы должны знать, какие порты работают и какой процесс выполняется на этом порту. Иногда у вас также могут быть проблемы, такие как “port already in use”, и при необходимости вы должны знать, какой процесс использует этот порт, и при необходимости завершить его. Этого можно достичь, зная, какие порты используют разные процессы. Мы рассмотрим некоторые подходы к завершению работы в этом посте. Однако сначала давайте разберемся с некоторыми техническими словами, используемыми в этой статье.

Читайте также:
Сколько зарабатывает тестировщик программ

Что такое порты?

Порты — это абстракция, которая может обмениваться данными между приложениями с использованием различных протоколов. Для протоколов транспортного уровня, таких как TCP, UDP и SMTP, используются порты. Различным службам назначается номер порта, например порт 80, используемый HTTP, порт 22, используемый SSH, и т. д. Использование номеров портов позволяет нескольким системам открывать множество сокетов через один и тот же транспортный протокол.

В приложении используются несколько портов и динамические порты 49152-65535. Первые 1024 порта (00-1023) — это системные порты, которые запрещают пользовательским программам вмешиваться в их работу, поскольку многие операционные системы резервируют эти порты для привилегированных функций.
Порты могут принимать и доставлять данные и находятся выше транспортного уровня модели OSI.

Что такое процессы?

По сути, процесс — это динамический экземпляр программы, который выполняется последовательно. Сущность, представляющая основную единицу работы, которая должна быть реализована в системе, указывается как процесс. Проще говоря, мы создаем наши компьютерные программы в текстовом файле, и он становится процессом, который выполняет все обязанности, указанные в программе, когда мы выполняем эту программу.

Давайте теперь посмотрим на методы проверки портов и процессов, запущенных в Ubuntu.

Метод 1. Использование команды netstat и grep

netstat

Команда netstat отображает состояние сети и статистику протокола. В зависимости от используемого параметра командной строки netstat показывает разные типы сетевых данных. Конечные точки TCP и UDP можно увидеть в таблицах, таблицах маршрутизации и форматах информации об интерфейсах.

Читать Как заблокировать или разблокировать запросы ping на Ubuntu Server 20.04 LTS

grep

Grep анализирует файл и отображает каждую строку, которая содержит этот шаблон для определенного шаблона символов. Шаблон, который ищется в файле, называется регулярным выражением.

Читайте также:
Adobe audition это программа

Используйте следующую команду, чтобы проверить, какой процесс запущен на порту. Вы должны указать порт в этой команде.

$ netstat -ltnp | grep -w ‘: 80’

Метод 2: список всех прослушивающих портов с помощью netstat

Используйте следующую команду для вывода списка всех прослушивающих портов TCP или UDP, включая те, которые используют порты и состояние сокета.

sudo netstat -tunlp

Метод 3: Использование команды ss

Команда ss — это утилита, используемая для дампа статистического сокета и отображения информации аналогично netstat. Кроме того, отображается TCP и информация о состоянии, чем в большинстве других инструментов. Это также немного быстрее, чем netstat.

Заключение

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru