#shell 代码如下
#!/bin/bash
while [ 1 ]
do
dpid=`ps -ef | grep a.out | grep -v "grep" | awk '{print $2}'`
echo '-----------------------------'
date
cat /proc/$dpid/status | grep VmRSS
sleep 10
done
改良版本
#!/bin/bash
dpid=0
dpid=0
flag=0
cur_pid=0
crashd_count=0
not_running_tips=0
running_tips=0
while [ 1 ]
do
if [ $flag -eq 1 ] && [ "" = "$dpid" ]
then
let crashd_count+=1
echo `date` "pid is crahed, times is " $crashd_count
flag=0
not_running_tips=0
running_tips=0
fi
dpid=`ps -ef | grep a.out | grep -v "grep" | awk '{print $2}'`
if [ ! $dpid ]
then
if [ "0" = "$not_running_tips" ]
then
echo `date` "App is not running"
not_running_tips=1
fi
sleep 1
continue
fi
flag=1
cur_pid=$dpid
if [ "0" = "$running_tips" ]
then
echo `date` "App is running"
running_tips=1
fi
echo '============================'
date
cat /proc/$dpid/status | grep VmRSS
echo ' ------------'
free
sleep 1
done
说明
- awk ‘{print $2}’ 是输出对应了列内容
- 监控的进程内存每到达264KB更新一次
版权声明:本文为huangjiazhi_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。