Відповіді:
Якщо вас цікавить конкретний порт, ви можете скористатися цим прикладом:
lsof -i 4tcp:8080 -sTCP:LISTEN
Якщо ви хочете отримати лише ідентифікатор процесу, ви можете запустити це:
lsof -i 4tcp:8080 -sTCP:LISTEN -Fp
Я використовую команду нижче, коли хочу побачити все, що знаходиться на певному порту для TCP або UDP. Цей -nпараметр вимикає спробу вирішення IP-адрес у доменних іменах, а -Pінвалід намагається з'ясувати ім'я конкретного порту. Крім того, запуск as rootпокаже вам більше процесів, ніж звичайний користувач.
sudo lsof -iTCP:53 -iUDP:53 -n -P
У наведеному нижче прикладі коду перелічені всі запущені TCP-сервери на вашій локальній машині OSX:
netstat -a -Ptcp | egrep 'tcp4.*LISTEN'
tcp4 0 0 127.0.0.1.2022 *.* LISTEN 0 0
tcp4 0 0 *.3141 *.* LISTEN 0 0
LISTENпоказує лише розетки, які прослуховують з'єднання. Тобто сервери.
Перший рядок показує сервер, прив’язаний до localhost, наприклад 127.0.0.1, порту 2022. Він відповість на місцеві запити, але не на Інтернет-запити.
Другий рядок - це сервер, прив'язаний до всіх адрес, тобто до *порту 3141. Він буде відповідати на запити Інтернет.
Щоб перелічити порти, які використовуються клієнтами та серверами, використовуйте наступне:
netstat -an -Ptcp | grep tcp4
Це повинно бути можливим у вікні терміналу за допомогою команди Netstat .
І якщо вам більше подобається графічний інтерфейс:
У Mac OS X 10.5 папка / Applications / Utilities містить мережеву утиліту під назвою: Network Utility, див. Вкладку Netstat щодо цих статистичних даних, представлених у додатку gui, разом із Ping, Lookup, Traceroute, Whois, Finger та Port Scan.
netstatна хостах, що базуються на BSD, не вказано жодної інформації про процес ... про це було питання.