Como encontro (e acabo) o processo em execução em uma determinada porta? [duplicado]

30

Possível duplicata: localizando
o processo que está usando uma certa porta no Linux

Estou usando o Ubuntu Linux 11.04. Como escrevo uma expressão de script de shell que localizará o processo em execução na porta 4444 e depois matará o processo?

Comunidade
fonte
Eu não acho que este é um duplicado como ele está pedindo como matar, não encontrar, o processo na porta: fusor -k 9000 / tcp
Kris

Respostas:

47

Você pode usar lsofpara encontrar o processo:

lsof -t -i:4444

listaria apenas o pid do processo escutando na porta 4444. Você poderia apenas dizer

kill `lsof -t -i:4444`

se você fosse corajoso.

Ernest Friedman-Hill
fonte
14
+1 para "se você fosse corajoso".
Shickadance
7

Você usa lsof:

# lsof -n | grep TCP | grep LISTEN | grep 4444

A saída será algo como:

pname 16125 user 28u IPv6 4835296 TCP *:4444 (LISTEN)

Onde a primeira coluna é o nome do processo e a segunda coluna é a identificação do processo. Você analisa a saída, descobre qual é o ID do processo (PID) e usa o killcomando para eliminá-lo.

Pablo Santa Cruz
fonte
1
Eu nunca tinha ouvido falar nisso antes. Olhando para a página de manual, parece ser incrivelmente útil. Obrigado!
tudo no linux é um arquivo e lsof permite que você encontre arquivos então ... sim, muito útil
jcollum
2

Como alternativa, você pode usar netstat -apse lsofnão estiver disponível no seu sistema (pois não está em um sistema do busybox com o qual trabalho regularmente).

DaveRandom
fonte
boa chamada, eu queria saber por que isso não estava funcionando em uma imagem de docker derivada do busybox em que eu estava trabalhando
jcollum
2
kill -9 `netstat -lanp --protocol=inet | grep 4444 | awk -F" " '{print $7}' | awk -F"/" '{print $1}'`

Usa o netstat para listar os soquetes INET de escuta com portas numéricas e processos pai. Filtra a sequência 4444, remove a sétima coluna (pid / nome do processo) e a divide ainda mais por "/" para obter o pid. Passa isso para matar o comando.

Arek B.
fonte
2
Eu recomendaria contra a morte -9. Ele não permite a limpeza e é mais provável que alguns aplicativos da Internet tenham recursos que precisam ser desligados de maneira limpa.
Rich Homolka