Sempre quis saber qual comando está sendo executado em uma determinada porta. Hoje eu acho que consegui entender isso.
Este é o comando:
ps -ef | grep $(netstat -pan | grep ":5000" | awk '{print $7}' | cut -d "/" -f1)
Agora para a explicação
Passo 1
Começaremos com o conjunto mais interno de comandos, ou seja, netstat -pan | grep ":5000" | awk '{print $7}' | cut -d "/" -f1
netstat -pan
mostra a lista atual de conexões abertas em um determinado formato. A -p
bandeira mostra o PIDS. A -a
bandeira mostra todas as conexões. A -n
bandeira mostra em formato numerado
O grep ":5000"
comando está procurando por uma determinada porta (istoéo que precisa ser parametrizado caso você esteja usando dentro de um script de shell ou algo assim
O awk '{print $7}'
imprime o 7º conjunto da saída após a divisão por espaços em branco
O cut -d "/" -f1
corta a saída em um /
caractere e imprime a primeira divisão
A saída final será um PID
Passo 2
Agora para a parte circundante. O ps -ef
comando lista todos os processos de forma bem formatada. Essa saída é então canalizada para um grep
comando cuja entrada é a saída obtida na Etapa 1
Voila, chegamos na linha que queríamos.