Eu sei que usando o comando:
lsof -i TCP
(ou alguma variante de parâmetros com lsof) Posso determinar qual processo está vinculado a uma porta específica. Isso é útil, se estou tentando iniciar algo que deseja vincular ao 8080 e alguma outra pessoa já está usando essa porta, mas não sei o quê.
Existe uma maneira fácil de fazer isso sem usar lsof? Passo tempo trabalhando em muitos sistemas e lsof geralmente não é instalado.
networking
process
tcp
lsof
Gilles
fonte
fonte
netstat -p
acima é o meu voto. também olhelsof
.No AIX, netstat & rmsock podem ser usados para determinar a ligação do processo:
fonte
Outra ferramenta disponível no Linux é ss . Na página de manual do ss no Fedora:
Exemplo de saída abaixo - a coluna final mostra a ligação do processo:
fonte
Para Solaris, você pode usar pfiles e depois grep por
sockname:
ouport:
.Uma amostra ( daqui ):
fonte
Uma vez me deparei com a tentativa de determinar qual processo estava por trás de uma porta específica (desta vez, eram 8000). Tentei uma variedade de lsof e netstat, mas aproveitei a oportunidade e tentei acessar a porta através de um navegador (por exemplo, http: // hostname: 8000 / ). Eis que uma tela inicial me cumprimentou e ficou óbvio qual era o processo (para o registro, era Splunk ).
Mais um pensamento: "ps -e -o pid, args" (YMMV) às vezes pode mostrar o número da porta na lista de argumentos. Grep é seu amigo!
fonte
telnet hostname 8000
ver se o servidor imprime um banner. No entanto, isso é útil principalmente quando o servidor está sendo executado em uma máquina em que você não tem acesso ao shell e, em seguida, encontrar o ID do processo não é relevante.