Поиск процесса, использующего определенный порт в Linux
Я хотел бы узнать, какой процесс в данный момент использует определенный порт в Linux. Есть какой-либо способ сделать это?
4 ответа
Решение
У вас есть несколько вариантов:
lsof -i tcp:80
выдаст вам список процессов, использующих порт 80 tcp.
С другой стороны,
sudo netstat -nlp
даст вам все открытые сетевые подключения.
Я использую "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