Chinaunix首页 | 论坛 | 博客
  • 博客访问: 971731
  • 博文数量: 192
  • 博客积分: 3070
  • 博客等级: 中校
  • 技术积分: 1861
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-27 23:44
个人简介

Start Linux Leave Linux a while Back to Linux

文章分类

全部博文(192)

文章存档

2023年(18)

2022年(11)

2021年(8)

2020年(14)

2019年(7)

2018年(13)

2017年(16)

2016年(4)

2012年(2)

2011年(13)

2010年(26)

2009年(13)

2008年(27)

2007年(20)

我的朋友

分类: LINUX

2011-07-06 10:36:57

[root@qz.com: /]$ cat get_powerlevel 
#!/bin/sh

# less than 3.8V will execute reboot
WARNPWR=700    # ad value


pString=
pVal=
preVal=0
avgVal=0
sumVal=0
Cnt=0
difVal=0
lowPwr=0  #low power flag

checkdata()
{
    let sumVal=$sumVal+$pVal
    let avgVal=$avgVal/5;
    sumVal=0
    echo "avgVal: $avgVal"
}

pNo=
kill_helloapp()
{
    pNo=`ps | grep hello_app | sed '1p' | awk '{print $1}'`
    echo "pNo: $pNo"    
    echo "killing hello_app..."
    kill -9 $pNo
}


while :
do
    # get power value
    pVal=`/lib/modules/test/adc_noloop | awk '{print $3}'`
    echo "pVal: $pVal"

    # compare with provious value
    let difVal=$preVal-$pVal
    # abs difVal
    difVal=${difVal#-}
    if [ "$difVal" -ge 12 ]
    then
        preVal=$pVal
        echo "diff is to biger: $difVal"   
        continue
    fi

    # get average for 5 times
    let Cnt=$Cnt+1
    let sumVal=$sumVal+$pVal
    if [ "$Cnt" -ge 5 ]
    then
        Cnt=0
        let avgVal=$sumVal/5;
        sumVal=0
        echo "avgVal: $avgVal"
    else
        continue
    fi     

    preVal=$pVal
    
    if [ $avgVal -lt $WARNPWR ]; then
        lowPwr=1
        echo "THE POWER IS TOO LOW."
        kill_helloapp

    else
        lowPwr=0
    fi

    
done
阅读(1254) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~