Em um servidor Solaris 8, como descubro qual processo está ouvindo em um determinado porto? A implementação do Windows "Netstat" oferece os switches -o e -b, que mostram o ID do processo de propriedade e o nome, respectivamente. Existe um equivalente sob o Solaris?
lsof -i
Não vem instalado por padrão, mas você pode obter a versão do Solaris de http://www.sunfreeware.com/
Se você não quiser ou não pode instalar o LSOF, você também pode tentar o comando pfiles
. Imprime todos os soquetes abertos por um determinado processo. Se você não tivesse outra escolha, você poderia iterar em todos os PIDs e encontrar aquele ouvindo, digamos, porto 25:
PORT=25
for p in $(ps -eo pid)
do
OUT=$(pfiles $p)
if [[ "$OUT" =~ port:\ ${PORT} ]]
then
echo $p
fi
done