Como encontrar argumentos completos do processo e portas de escuta associadas?

3

Eu posso executar netstat -atulpn | grep java para encontrar todos os processos Java com suas respectivas portas, o que é ótimo, no entanto, eu gostaria de ter também os argumentos de execução completa dos processos também mostrados. Eu não acredito que isso seja possível com netstat de tudo que eu explorei até agora e então eu estava pensando que eu teria que escrever um script para processar a saída de netstat e então passar os pids para ps e depois prettify a saída para mostrar o ip + port e a linha de comando completa.

Existe uma maneira melhor de fazer isso ou esta é a única opção?

    
por ylluminate 20.02.2014 / 01:36

2 respostas

4

ss -lnptu canalizado para o awk com uma chamada para ps -p. Estou em um dispositivo móvel, por isso é um pouco complicado digitar um exemplo completo no momento.

soquetes de escuta:

ss -lnptu | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'

Todos os soquetes (provavelmente exigirão alguma filtragem adicional devido a soquetes sem informações de processo em TIME_WAIT, etc):

ss -anptu state listening state established state connected state unconnected | grep -v TIME_WAIT | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'

    
por 20.02.2014 / 02:59
0

@ylluminate, para o CentOS, altere para ss -lnptu | awk 'NR>1 { split($6,p,","); printf "Listen: "$4 " Command: "; system("ps --no-headers -o args p "p[2]); }'

    
por 10.05.2017 / 11:21