Sur un serveur Solaris 8, comment puis-je savoir quel processus écoute sur un port donné ? L'implémentation Windows de 'netstat' propose les commutateurs -o et -b, qui affichent respectivement l'ID et le nom du processus propriétaire. Existe-t-il un équivalent sous Solaris ?
Réponses
Trop de publicités?lsof -i
Il n'est pas installé par défaut, mais vous pouvez obtenir la version Solaris à partir de http://www.sunfreeware.com/
Wilhelm
Points
2542
Si vous ne voulez pas ou ne pouvez pas installer lsof, vous pouvez aussi essayer la commande pfiles
. Il affiche tous les sockets ouverts par un processus donné. Si vous n'aviez pas d'autre choix, vous pourriez itérer sur tous les PIDs et trouver celui qui écoute, disons, le port 25 :
PORT=25
for p in $(ps -eo pid)
do
OUT=$(pfiles $p)
if [[ "$OUT" =~ port:\ ${PORT} ]]
then
echo $p
fi
done