Пошук процесу, який використовує певний порт в Linux


139

Мені хотілося б дізнатися, який процес на даний момент використовує певний порт в Linux. Чи можна це зробити?


3
У Windows команда така: netstat -anb
djangofan

Відповіді:


144

У вас є пара варіантів:

lsof -i tcp:80

надасть вам список процесів, що використовують порт tcp 80.

Крім того,

sudo netstat -nlp

дасть вам усі відкриті мережеві з'єднання.


2
lsof -i | grep {username}також дуже корисний, тобтоlsof -i | grep apache
LawrenceC

1
Для всіх, хто цікавиться,: -nне вирішуйте імена -l,: відображати розетки сервера прослуховування,: -pвідображати назву PID / програми для розеток.
yellavon

Я зазвичай додаю -Pдо lsof -i tcp:$PORTNUMBERтак , що порт роздрукована назад до мене як число.
js.

9
netstat -lp

4
на mac ви повинні додати параметр протоколу до -p. так щось на зразок: netstat -lp tcp.
vrish88

8

Я використовую "CentOS 7 minimal", який не має ні того, netstatні іншого lsof. Але в багатьох дистрибутивах Linux є команда статистики сокета (тобто ss).

Ось приклад виконання:

# ss -tanp | grep 6379
LISTEN   0    128  127.0.0.1:6379   *:*   users:(("redis-server",pid=2531,fd=4))

2

У Linux, щоб знайти процес, що працює на порту, виконайте нижче:

lsof -i :<port_number>

приклад:

lsof -i :8080

Дякуємо за спробу допомогти. Ця команда згадувалася у прийнятій відповіді. Якщо у вас є щось нове, відредагуйте свою публікацію.
Бен Н
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.