Как узнать, какая служба работает на конкретном порту в Linux?

Я пытаюсь запустить weblogic-сервер на моей машине linux, и я получаю следующую ошибку:

ERROR: transport error 202: bind failed: Address already in use ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690] FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) 

Я думаю, что ошибка означает, что порт отладчика, который по умолчанию равен 8453, уже принадлежит некоторой другой службе. Как узнать, какая служба запущена в номере частичного порта?

PS: Я использовал команду netstat но это показывает все сервисы, занимающие все порты. Меня интересует только конкретный порт.

  • Netstat показывает программы, запущенные на разных портах, тогда они должны
  • Если netstat не отображает номера портов для иностранного адреса
  • Неожиданный вывод нетстата в условиях DNAT
  • браузер Chrome (pepperflashplugin), открывающий прослушивающие порты на 0.0.0.0:5353
  • Печатать порты с использованием приложения
  • Состояние сетевых портов
  • Получить адрес маршрутизатора любого интерфейса
  • Ограничение ширины линии выходной линии Netstat
  • 4 Solutions collect form web for “Как узнать, какая служба работает на конкретном порту в Linux?”

    Два пути:

    • lsof -i :port -S
    • netstat -a | grep port

    Вы можете сделать man lsof или man netstat для необходимой информации. Замените port на номер порта, который вы хотите найти.

    Вы можете использовать fuser или lsof то есть:

     fuser 8453/tcp lsof -i TCP:8453 

    Если вы хотите получить дополнительную информацию от fuser вы также можете использовать флаг -v , то есть: fuser -v 8453/tcp

    для чего это стоит … в зависимости от версии netstat (в частности, GNU netstat ), которую вы можете использовать, вы можете использовать

     netstat -punta | grep <port> 

    это покажет, что соединения в ESTABLISHED и LISTEN содержат UDP и TCP, и он будет игнорировать локальные сокеты UNIX. конечный результат – хороший, аккуратный, небольшой результирующий набор.

    флаг -p даст вам идентификатор процесса и имя процесса того, что использует этот порт

    флаг -u показывает udp

    флаг -n для числовых адресов

    флаг -t показывает tcp

    -a показывает прослушивающие и не прослушивающие сокеты

    На centos

     /usr/sbin/lsof -i tcp:8453 (lsof -i protocol:port) 

    На ubuntu

     /usr/bin/lsof -i tcp:8453 

    Или, узкие результаты netstat с использованием фильтров.

    Interesting Posts

    Как сохранить псевдоним команды eval $ (other_comand)

    Проблема с ядром при установке VirtualBox

    Передача строки сценария в ssh изнутри функции сценария bash – проблема с оценкой переменных

    Труба B до D? – A && B || C | D

    Zsh: dirs в обратном порядке

    Почему строки вывода grep, похоже, не соответствуют выражению?

    Имеют мониторы 1920×1200 и 1024×1280 в сочетании с 2944×1200. Как использовать 80 неиспользуемых линий области экрана на 1024×1280?

    вызовите сценарий оболочки с помощью переменной

    Поток FFMPEG не появится на Justin.tv

    Как разрешить tee распечатывать все дескрипторы файлов на экране, но только сохранить stdout в файл?

    Получение «Запрещенной ошибки» для просмотра страницы в локальном хосте с разрешением на чтение, запись и выполнение

    Удалите определенную часть строки

    Консоль Linux печатает буква «q» в случайном порядке

    Безопасность почты на общем сервере

    Понимание RCU при настройке ядра Linux

    Linux и Unix - лучшая ОС в мире.