没有合适的资源?快使用搜索试试~ 我知道了~
首页Shell脚本实现Linux系统和进程资源监控
资源详情
资源评论
资源推荐

Shell脚本实现脚本实现Linux系统和进程资源监控系统和进程资源监控
主要介绍了Shell脚本实现Linux系统和进程资源监控,本文讲解了检查进程是否存在、检测进程 CPU 利用率、检
测进程内存使用量、检测进程句柄使用量、,需要的朋友可以参考下
在服务器运维过程中,经常需要对服务器的各种资源进行监控,例如:CPU的负载监控,磁盘的使用率监控,进程数目监控
等等,以在系统出现异常时及时报警,通知系统管理员。本文介绍在Linux系统下几种常见的监控需求及其shell脚本的编写。
文章目录:
1.Linux使用 Shell 检查进程是否存在
2.Linux使用 Shell检测进程 CPU 利用率
3.Linux使用 Shell检测进程内存使用量
4.Linux使用 Shell检测进程句柄使用量
5.Linux使用 Shell查看某个 TCP 或 UDP 端口是否在监听
6.Linux使用 Shell查看某个进程名正在运行的个数
7.Linux使用 Shell检测系统 CPU 负载
8.Linux使用 Shell检测系统磁盘空间
9.总结
检查进程是否存在检查进程是否存在
在对进程进行监控时,我们一般需要得到该进程的 ID,进程 ID 是进程的唯一标识,但是有时可能在服务器上不同用户下运行
着多个相同进程名的进程,下面的函数 GetPID 给出了获取指定用户下指定进程名的进程 ID 功能(目前只考虑这个用户下启
动一个此进程名的进程),它有两个参数为用户名和进程名,它首先使用 ps 查找进程信息,同时通过 grep 过滤出需要的进
程,最后通过 sed 和 awk 查找需要进程的 ID 值(此函数可根据实际情况修改,比如需要过滤其它信息等)。
清单 1. 对进程进行监控
复制代码 代码如下:
function GetPID #User #Name
{
PsUser=$1
PsName=$2
pid=`ps -u $PsUser|grep $PsName|grep -v grep|grep -v vi|grep -v dbx\n
|grep -v tail|grep -v start|grep -v stop |sed -n 1p |awk '{print $1}'`
echo $pid
}
示例演示:
1)源程序(例如查找用户为 root,进程名为 CFTestApp 的进程 ID)
复制代码 代码如下:
PID=`GetPID root CFTestApp`
echo $PID
2)结果输出
复制代码 代码如下:
11426
[dyu@xilinuxbldsrv shell]$
3)结果分析
从上面的输出可见:11426 为 root 用户下的 CFTestApp 程序的进程 ID。
4)命令介绍
1. ps: 查看系统中瞬间进程信息。 参数:-u< 用户识别码 > 列出属于该用户的程序的状况,也可使用用户名称来指定。 -p< 进
程识别码 > 指定进程识别码,并列出该进程的状况。 -o 指定输出格式 2. grep: 用于查找文件中符合字符串的当前行。 参
数:-v 反向选择,亦即显示出没有 ‘搜寻字符串' 内容的那一行。 3. sed: 一个非交互性文本编辑器,它编辑文件或标准输入导
出的文件,一次只能处理一行内容。 参数:-n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。 p 标志 打
印匹配行 4. awk:一种编程语言,用于在 linux/unix 下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0