linux – Solaris中的等效lsof -i

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

我只想显示带有网络连接的文件.

谢谢!!

最佳答案
这是一个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); }'

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

转载注明原文:linux – Solaris中的等效lsof -i - 代码日志