Я использую ноутбук OS X Mountain Lion и у меня есть пара коробок Vagrant. Я пытаюсь выяснить, какой процесс прослушивает порт 8080. Мои варианты выдают сто строк, но ни один из них не имеет определенного номера порта. Я предполагаю что-то вроде:
netstat -XXX | grep 8080
networking
macos
netstat
timpone
источник
источник
Ответы:
К сожалению, в OSX вы застряли с BSD,
netstat
который не покажет вам идентификатор процесса, который подключен к данному порту. Вместо этого вы должны использоватьlsof
. Синтаксис, который вам нужно использовать:Это распечатает кучу информации, большая часть которой вам не нужна, но поля хорошо помечены. Например, проверьте этот пример вывода.
Это говорит мне о том, что порт 53237 используется идентификатором процесса 927. При чтении поля COMMAND имейте в виду, что этот вывод урезан, в действительности полное имя двоичного файла - GoogleTalkPlugin.
источник
VBoxHeadl
- есть ли способ увидеть, какой экземпляр VirtualBox (есть два прямо сейчас), или я спрашиваю слишком много (вероятно, последний). ТНХlsof -p PID
и просматривать список открытых файлов, пока не найдете его.Это то, что мне нравится использовать при поиске PID порта прослушивания. Для Linux используйте:
netstat -tunlp
Дополнительную информацию можно найти на страницах руководства.
источник
-p
не перечисляет аргументы программы. Как я это вижу?-p
на OSX естьport
. Я ненавижу решения разработчиков приводить разные аргументы для OSX и Linux ...Я был в процессе модификации
netstat
в OS X, чтобы обеспечить эту функцию, и наткнулся на тот факт, что-v
даст вам pid, связанный с сокетом.источник
-v
Повышает уровень детальности и документировано. developer.apple.com/library/mac/documentation/Darwin/Reference/…Для меня следующие две строки лучше всего показывают, какие приложения имеют открытые порты прослушивания, а туннель lsof полностью кроссплатформенный:
источник
Чтобы узнать конкретный порт, используйте команду netstat ниже
источник
От человека нетстать
-p, --program Показать PID и имя программы, которой принадлежит каждый сокет.
Я обычно просто делаю это: netstat -antup | grep 8080
источник
-p protocol Show statistics about protocol, which is either a well-known name
-p
для отображения PID является команда netstat GNU, тогда как OSX использует netstat BSD.-p
не перечисляет аргументы программы. Как я это вижу?-p
на OSX естьport
. Я ненавижу решения разработчиков приводить разные аргументы для OSX и Linux ...Команда ниже показывает соединение:
Для просмотра всего потока в реальном времени вы можете использовать
watch
:источник