`
idning
  • 浏览: 135471 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

写了一个根据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

 

 

分享到:
评论
1 楼 idning 2010-05-22  
黑客帝国I背景音乐:
这是一部所有的背景音乐,在百度里搜吧
第一部:
1. Main Title
2. Trinity Infinity
3. Follow Instructions
4. The White Rabbit
5. Sneak Rue Eve
6. Unable to Speak
7. Road To Truthville
8. The Lafayette Mirror
9. The Power Plant
10. Welcome to the Real World
11. Introductions
12. The Truth
13. No Return
14. Training (Bow Whisk Orchestra)
15. Switch or Break Show
16. The Jump Program
17. I Don't Remember You Bringing me Dinner
18. The Sewers
19. Want a Drink?/The Turncoat
20. Departure & Arrival
21. Spoonboy Sermon
22. Oracle Honesty
23. The Hotel Ambush- Exit Mr. Hat
24. Cypher Punk
25. Think Tank
26. A Virus
27. Let's Go
28. Bullet-time
29. You Move Like They Do
30. Ontological Shock
31. The Subway Fight
32. Neo on the Run
33. Anything is Possible


电脑对他说“。。。跟随白兔。。”之前,他躺在床上时听的音乐。
dissolved girl

相关推荐

    C#程序开发范例宝典(第2版).part08

    实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 ...

    基于stm32的课程设计——UCOSII实验2-信号量和邮箱.rar

    务用于在屏幕上画图,可以用于测试CPU使用率;按键扫描任务用于按键扫描,优先级最高,将得到的键值通过消息 邮箱发送出去;主任务则通过查询消息邮箱获得键值,并根据键值执行DS1控制、信号量发送(蜂鸣器控制)...

    C#程序开发范例宝典(第2版).part12

    实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 ...

    C#程序开发范例宝典(第2版).part02

    实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 ...

    C#程序开发范例宝典(第2版).part13

    实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 ...

    C#.net_经典编程例子400个

    236 实例160 播放Gif动画 237 实例161 利用Image制作小动画 239 5.4 媒体控制 240 实例162 检测是否安装声卡 240 实例163 打开和关闭CDROM 241 实例164 控制PC喇叭发声 242 5.5 ...

    Delphi开发范例宝典目录

    实例232 监测是否运行多个程序 297 实例233 防止程序多次运行 298 实例234 开机后程序自动运行 299 实例235 获取任务栏尺寸大小 300 实例236 改变系统提示信息 301 实例237 获取系统环境变量 303 实例...

Global site tag (gtag.js) - Google Analytics