unix – 在Solaris上的某个端口上侦听什么进程?

前端之家收集整理的这篇文章主要介绍了unix – 在Solaris上的某个端口上侦听什么进程?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我登录到一个Solaris盒子,尝试启动Apache,发现已经有一个进程侦听端口80,它不是Apache。我们的盒子没有安装lsof,所以我不能查询。我想我可以做:
pfiles `ls /proc` | less

并寻找“端口:80”,但如果有人有一个更好的解决方案,我都耳朵!甚至更好,如果我可以寻找听力过程,而不是根。我对shell和C解决方案都开放;我不介意有一个自定义可执行文件来携带我下次出现。

更新:我在说的通用安装的solaris,我不是管理员(虽然我有超级用户访问),所以从免费软盘安装的东西不是一个选项。显然,没有使用针对fuser,netstat或其他工具的特定于Linux的扩展。到目前为止,运行pfiles对所有进程似乎是最好的解决方案,不幸的是。如果这仍然是这种情况,我可能会发布一个回答与一些稍微更有效的代码,上面的剪辑。

我发现这个脚本在某个地方。我不记得在哪里,但它适用于我:
#!/bin/ksh

line='---------------------------------------------'
pids=$(/usr/bin/ps -ef | sed 1d | awk '{print $2}')

if [ $# -eq 0 ]; then
   read ans?"Enter port you would like to know pid for: "
else
   ans=$1
fi

for f in $pids
do
   /usr/proc/bin/pfiles $f 2>/dev/null | /usr/xpg4/bin/grep -q "port: $ans"
   if [ $? -eq 0 ]; then
      echo $line
      echo "Port: $ans is being used by PID:\c"
      /usr/bin/ps -ef -o pid -o args | egrep -v "grep|pfiles" | grep $f
   fi
done
exit 0

编辑:这是原始来源:
[Solaris] Which process is bound to a given port ?

原文链接:https://www.f2er.com/bash/389176.html

猜你在找的Bash相关文章