站长网_站长创业_站长主页_站长之家_易采站长站

会员投稿 投稿指南 站长资讯通告: Shell脚本实现Linux系统和进程资源监控
搜索:
您的位置: 主页 > 教程 > 网页编程 > JavaScript > » 正文

Shell脚本实现Linux系统和进程资源监控(4)

来源: 易采站长站

    {
        DES=`ls /proc/$1/fd | wc -l`
        echo $DES
    }

下面功能是通过上面的函数 GetDes获得此进程的句柄使用量,然后通过条件语句判断句柄使用是否超过限制,如果超过 900(可以根据实际情况进行调整)个,则输出告警,否则输出正常信息。
代码如下:
 des=` GetDes $PID`
 if [ $des -gt 900 ]
 then
 {
     echo “The number of des is larger than 900”
 }
 else
 {
    echo “The number of des is normal”
 }
 fi

示例演示:

1)源程序(假设上面查询出 CFTestApp 的进程 ID 为 11426)
代码如下:
des=`GetDes 11426`
 
    echo "The number of des is $des"
 
    if [ $des -gt 900 ]
    then
    {
         echo "The number of des is larger than 900"
    }
    else
    {
        echo "The number of des is normal"
    }
    fi

2)结果输出

代码如下:
    The number of des is 528
    The number of des is normal
    [dyu@xilinuxbldsrv shell]$

3)结果分析

从上面的输出可见:CFTestApp 程序当前的句柄使用为 528 个,是正常的,没有超过 900 个的告警限制。

4)命令介绍

wc: 统计指定文件中的字节数、字数、行数 , 并将统计结果显示输出。 参数:-l 统计行数。 -c 统计字节数。 -w 统计字数。

查看某个 TCP 或 UDP 端口是否在监听

端口检测是系统资源检测经常遇到的,特别是在网络通讯情况下,端口状态的检测往往是很重要的。有时可能进程,CPU,内存等处于正常状态,但是端口处于异常状态,业务也是没有正常运行。下面函数可判断指定端口是否在监听。它有一个参数为待检测端口,它首先使用 netstat 输出端口占用信息,然后通过 grep, awk,wc 过滤输出监听 TCP 端口的个数,第二条语句为输出 UDP 端口的监听个数,如果 TCP 与 UDP 端口监听都为 0,返回 0,否则返回 1.

清单 6. 端口检测

代码如下:
 function Listening
 {
    TCPListeningnum=`netstat -an | grep ":$1 " | \n
    awk '$1 == "tcp" && $NF == "LISTEN" {print $0}' | wc -l`
    UDPListeningnum=`netstat -an|grep ":$1 " \n
    |awk '$1 == "udp" && $NF == "0.0.0.0:*" {print $0}' | wc -l`

Tags:
最新图文资讯
1 2 3 4 5 6
相关文章列表:
易采站长站 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助 -