美文网首页
bash shell检测进程内存变化

bash shell检测进程内存变化

作者: zigbee0809 | 来源:发表于2019-01-22 11:08 被阅读0次

#!/bin/sh

get_mem()

{

process_id=$1

text=`cat /proc/${process_id}/status | grep VmRSS`

#没有这个进程

if [ "${text}" = "" ] ; then

memory=0

echo ${memory}

return 0

fi

memory=`echo $text | tr -cd "[0-9]"`

echo ${memory}

return 0

}

PROCESS_NAME="a.out"

pid=`pidof ${PROCESS_NAME}`

echo pid:${pid}

#没有这个进程

if [ "${pid}" = "0" ]; then

max_mamory=0

else

max_memory=$(get_mem ${pid})

fi

echo pid=${pid},max_mem=${max_memory}

while [ true ] ; do

sleep 1s

#得到进程号

pid=`pidof ${PROCESS_NAME}`

if [ "${pid}" = "0" ];then

# 没找到复位

max_memory=0

continue

fi

#得到进程使用的内存

current_memory=$(get_mem ${pid})

if [ "${current_memory}" = "0" ]; then

continue

fi

#如果占用内存增加了,输出

if [ ${current_memory} -ne ${max_memory} ]; then

echo

echo ------------------

date

diff=`expr ${current_memory} - ${max_memory}`

echo ${current_memory} - ${max_memory} = ${diff}

max_memory=${current_memory}

fi

done

相关文章

  • bash shell检测进程内存变化

    #!/bin/sh get_mem() { process_id=$1 text=`cat /proc/${pro...

  • bash环境配置文件

    longin shell 输入用户名密码取得的bash nologin shell bash的子进程 ./etc/...

  • shell

    一、shell中的参数命令 bash解析器来解析shell脚本 sleep是一个进程,当前的bash是一个进程,进...

  • shell脚本

    交互式 Bash Shell 获取进程 pid 在已知进程名(name)的前提下,交互式 Shell 获取进程 p...

  • shell基础教程-3-bash运行环境,输入输出

    一, Shell运行环境概念 bash是一个进程 bash下还可以再重新启动一个shell,这个shell是sub...

  • shell脚本编程基础

    bash中变量的种类 局部变量:生效范围为当前shell进程,对当前shell之外的其它shell进程,包括当前s...

  • shell中参数的用法 && wait的用法

    拿$!举个例子: 输出为: Bash shell内置了wait命令,wait命令可以使当前shell进程挂起,等待...

  • 设置用户定义变量

    设置局部用户定义变量一旦启动了bash shell(或者执行一个shell脚本),就能创建在这个shell进程内可...

  • 扩展

    no shell /sbin/nologin ---紧作为运行进程的用户,访问FTP的用户/bin/bash...

  • Shell环境变量

    bash shell中使用环境变量在内存中存储有关shell会话和工作环境的数据。以便程序或shell中运行的脚本...

网友评论

      本文标题:bash shell检测进程内存变化

      本文链接:https://www.haomeiwen.com/subject/swhljqtx.html