在 Solaris 8 下,如何找出监听套接字绑定到哪个进程?

在 Solaris 8 下,如何找出监听套接字绑定到哪个进程?

在 Solaris 8 服务器上,如何找出正在监听给定端口的进程?Windows 版“netstat”提供 -o 和 -b 开关,分别显示所属进程 ID 和名称。Solaris 下有等效程序吗?

答案1

lsof -i

默认情况下未安装,但你可以从以下位置获取 Solaris 版本http://www.sunfreeware.com/

答案2

如果您不想或无法安装 lsof,您也可以尝试命令pfiles。它会打印出给定进程打开的所有套接字。如果您别无选择,您可以遍历所有 PID 并找到正在监听端口 25 的 PID:

PORT=25
for p in $(ps -eo pid)
do
  OUT=$(pfiles $p)
  if [[ "$OUT" =~ port:\ ${PORT} ]]
  then
    echo $p
  fi
done

相关内容