写了一个根据cpu使用率 发声的小程序.

下午烦躁,躺着睡觉

想起来前天看黑客帝国,第6分50秒,neo的电脑发出一种beep,觉得很酷

想弄在一把

 

于是写了个代码:

它会 根据cpu使用率 发声

cpu usage           2秒内发声情况

10%                    . (2声)

20%                    ..(4声)

...

100%                    ....................(20声)

 

于是乎,如果cpu使用率接近100%的话,她就会不停的发声:)

 

 

 

#!/usr/bin/env python2.6
#coding=utf8
#<<neo>>  06:45-6:55 beep ...  ... .....
#if the cpu usage is full ,the beep will not stop. 
# usage:
#    sudo modprobe pcspkr
#    sudo apt-get install beep

import os
import re, time
def beep(frequency, duration=100, repeat=10, delay=10): #100 ms
    cmd = 'beep -f %s -l %s -r %s -d %s' % (frequency,duration, repeat, delay)
    print cmd
    os.system(cmd)

last_all = 0
last_used = 0

def cpu_usage():
    str = file('/proc/stat').read()
    arr = re.split(r'\s+', str)[1:5]
    print arr
    arr = [int(item) for item in arr]
    print arr
    cpu_all = sum(arr)
    cpu_used = sum(arr[0:3])
    usage = 1.0 * (cpu_used- last_used) / (cpu_all - last_all)


    global last_used, last_all
    last_all = cpu_all
    last_used = cpu_used
    print usage
    return usage

for i in range (0, 100000):
    usage = cpu_usage()
    t1 = time.time()
    beep(80, 10, int(usage * 20)+1, 100) #beep for (usage*10+10) times, will tack 1s-2s
    t2 = time.time()
    print t1, t2
    time.sleep(2-(t2-t1))  #2s sub the time used in beep

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值