eu usaria
# netstat -anp
A opção -p exibe o PID relacionado e o nome do programa ao qual o soquete relacionado pertence. Você só precisa grep a saída para filtrar apenas as linhas que você precisa (por PID ou nome do programa).
Eu tenho vários aplicativos que são executados em portas aleatórias. Como eu pegaria o pid ou o local do arquivo e encontraria em qual porta ele está rodando?
Exemplo da saída desejada:
www-data/apache = 80
my-awesome-game = 2023
eu usaria
# netstat -anp
A opção -p exibe o PID relacionado e o nome do programa ao qual o soquete relacionado pertence. Você só precisa grep a saída para filtrar apenas as linhas que você precisa (por PID ou nome do programa).
De um modo semelhante ao netstat, o lsof também pode fazer o truque:
lsof -i
Você terá que usar a saída para encontrar o PID desejado.
A vantagem que vejo usando lsof é que '-p' no netstat não funciona para todos os sabores Unix, por acaso eu gerencio AIX, Solaris e HP-UX (além da Red Hat) e uso lsof causa todos os parâmetros são mesmo que alguns recursos não funcionem como deveriam (isto é, ter sistemas de arquivos proprietários e não-padrão podem causar problemas para localizar nomes de arquivos ou outras informações).
Tags process filesystems tcp pidfile