Verifique o que está sendo executado em uma determinada porta

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 -panmostra a lista atual de conexões abertas em um determinado formato. A -pbandeira mostra o PIDS. A -abandeira mostra todas as conexões. A -nbandeira 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 "/" -f1corta 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 -efcomando lista todos os processos de forma bem formatada. Essa saída é então canalizada para um grepcomando cuja entrada é a saída obtida na Etapa 1

Voila, chegamos na linha que queríamos.