Localizando o processo que está usando uma certa porta no Linux

139

Gostaria de descobrir qual processo está atualmente usando uma certa porta no Linux. Há alguma maneira de fazer isso?

Evan Fosmark
fonte
3
No Windows, o comando é: netstat -anb
djangofan 11/12/2009

Respostas:

144

Você tem algumas opções:

lsof -i tcp:80

fornecerá a lista de processos usando a porta 80 do tcp.

Alternativamente,

sudo netstat -nlp

lhe dará todas as conexões de rede abertas.

Nagul
fonte
2
lsof -i | grep {username}também é muito útil, ielsof -i | grep apache
LawrenceC
1
Para quem se perguntar -n:: não resolva nomes -l,: exiba soquetes do servidor de escuta,: -pexiba nome do PID / programa para soquetes.
Yellavon
Eu costumo adicionar -Ppara lsof -i tcp:$PORTNUMBERque a porta seja impressa de volta para mim como um número.
js.
9
netstat -lp
usuario
fonte
4
no mac, você precisa adicionar uma opção de protocolo ao -p. então algo como: netstat -lp tcp.
vrish88
8

Eu estou usando "CentOS 7 mínima", que tem nem netstatnem lsof. Mas muitas distribuições linux têm o comando socket statistics (ie ss).

Aqui está um exemplo de execução:

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

No Linux, para encontrar um processo em execução em uma porta, faça abaixo:

lsof -i :<port_number>

exemplo:

lsof -i :8080
Anamika
fonte
Obrigado por tentar ajudar. Este comando foi mencionado na resposta aceita. Se você tem algo novo, edite sua postagem.
Ben N