O programa lsof
permite que você verifique quais processos estão usando quais recursos, como arquivos ou portas.
Para mostrar quais processos estão escutando na porta 8080:
lsof -Pi :8080 -sTCP:LISTEN
No seu caso, você quer testar se um processo está escutando 8080 - o valor de retorno deste comando diz exatamente isso. Também imprime o pid do processo.
lsof -Pi :8080 -sTCP:LISTEN -t
Se você precisar apenas do teste, sem saída, redirecione-o para /dev/null
:
if lsof -Pi :8080 -sTCP:LISTEN -t >/dev/null ; then
echo "running"
else
echo "not running"
fi
Se você usar vários nomes de host com vários endereços IP localmente, especifique também o nome do host como% lsof -Pi @someLocalName:8080 -sTCP:LISTEN