Solaris中等效的lsof -i

Alb*_*rto 3 unix linux command solaris equivalent

我有一个快速的问题。我想知道什么是losf -iSolaris系统中的等效命令。

我只想显示具有网络连接的文件。

谢谢!!

jll*_*gre 5

这是一个Shell脚本,列出了Solaris上所有具有打开的TCP或UDP端口的进程,您可以通过将其作为参数传递来将其限制为给定的端口号:

pfiles /proc/* 2>/dev/null | nawk -v port=$1 '
    /^[0-9]/ { cmd=$2; type="unknown"; continue }
    $1 == "SOCK_STREAM" { type="tcp" }
    $1 == "SOCK_DGRAM" { type="udp" }
    $2 ~ "AF_INET" { if((port!="")&&($5!=port)) continue;
                      if(cmd!="") { printf("%s\n",cmd); cmd="" }
                      printf("    %s:%s/%s\n",$3,$5,type); }'
Run Code Online (Sandbox Code Playgroud)

注意:如pfiles手册页的警告部分所述,建议不要在对时间敏感的进程运行的重载生产系统上运行此命令,因为这可能会发生死锁或崩溃。


pet*_*erh 5

从 Solaris 11.2 开始,此类信息现在可以直接在netstat命令(-u选项)中获得,因此您不必pfiles为此目的使用 hack 或使用该lsof工具。就我个人而言,我一直想知道为什么这些信息不能成为netstat输出的一部分,很高兴看到最终会出现这种情况。

Oracle有一篇关于该主题的精彩博客。

(警告:在撰写本文时,v11.2 处于测试阶段,但已完全披露内容/新功能)