Поиск процесса, использующего определенный порт в Linux

Я хотел бы узнать, какой процесс в данный момент использует определенный порт в Linux. Есть какой-либо способ сделать это?

4 ответа

Решение

У вас есть несколько вариантов:

lsof -i tcp:80

выдаст вам список процессов, использующих порт 80 tcp.

С другой стороны,

sudo netstat -nlp

даст вам все открытые сетевые подключения.

netstat -lp

Я использую "CentOS 7 минимальный", который не имеет ни netstat ни lsof, Но во многих дистрибутивах Linux есть команда статистики сокета (т.е. ss).

Вот пример выполнения:

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

В Linux, чтобы найти процесс, работающий на порте, сделайте следующее:

lsof -i :<port_number>

пример:

lsof -i :8080

Также , если вы хотите перечислить запущенные процессы, которые говорят по TCP, вы можете использовать

sudo netstat -tnp

    sudo to get processes you don't own
    -t for TCP
    -n for numeric
    -p for pid

чтобы процессы говорили по UDP, замените -t на -u

sudo netstat -unp
Другие вопросы по тегам