我正在使用if lsof -Pi :8080 -sTCP:LISTEN -t >/dev/null ;,它在RHEL6 (4.82)上工作正常,但在RHEL5(4.78)上工作正常。

我看到一个错误:


  lsof:不支持的TCP / TPI信息选择:C lsof:不支持的TCP / TPI
  信息选择:P lsof:不支持的TCP / TPI信息选择::lsof:
  不支持的TCP / TPI信息选择:L lsof:不支持的TCP / TPI信息
  选择:I lsof:不支持的TCP / TPI信息选择:S lsof:
  不支持的TCP / TPI信息选择:T lsof:不支持的TCP / TPI信息
  选择:E lsof:不支持的TCP / TPI信息选择:N lsof 4.78。


有人可以建议我替代上述命令吗,我正在使用此命令检查分配有端口号的服务器的应用程序状态。

最佳答案

这将为您提供PID和端口状态。

netstat -pln | grep 9080


如果您要检查多个端口,则可以使用此端口

for portnum in 9080 8080 8088 9082
do
     if [ $(netstat -pln 2>/dev/null | grep -c ${portnum}.*LISTEN) -eq 1 ]
     then
          echo "Port ${portnum} is up"
     else
          echo "Port ${portnum} is down"
     fi
done


如果您在root用户下运行命令,则可以忽略“ 2> / dev / null”。

关于linux - 可以提供一些替代“lsof”命令的信息吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41444996/

10-13 06:57