Как узнать, какой процесс прослушивает данный порт на сервере Solaris 8? Реализация netstat для Windows предлагает переключатели -o и -b, которые показывают идентификатор и имя процесса-владельца соответственно. Есть ли аналог под Солярис?
lsof -i
Не устанавливается по умолчанию, но вы можете получить версию Solaris из http://www.sunfreeware.com/
Если вы не хотите или не можете установить lsof, вы также можете попробовать команду pfiles
. Он распечатывает все сокеты, открытые данным процессом. Если бы у вас не было другого выбора, вы могли бы перебрать все PID и найти тот, который слушает, скажем, порт 25:
PORT=25
for p in $(ps -eo pid)
do
OUT=$(pfiles $p)
if [[ "$OUT" =~ port:\ ${PORT} ]]
then
echo $p
fi
done