最近本猫所在的小区时常停电,往往半夜或是凌晨才来电啊!早上起来本猫在想如何知道确切的来电时间,但又不费事的方法呢。

方法一是用手机录音器录音,因为来电后门禁会发出“滴”的一声,所以只要知道开始录音的时间就可以知道来电的时间了!

方法二是停电就会停水,找一个容器放在打开得水龙头下面,保持超小的出水口,然后第二天看容量就可以知道来电的时间。不过这种方法略微脑残点。

方法三是直接打电话问门卫大叔,因为他们24小时不睡觉啊。或者打电话问供电局说:请相信本猫有一个很重要的原因,请告诉我昨晚来电的时间吧!

方法四是如果笔记本电池还够的话,写代码来获得准确的时间吧!本猫查了一下如何在OS X系统下获取AC状态,就是电源适配器的状态。如果是Conneted则表示有市电否则表示电池在供电。度娘搜索一下,很简单的方法:

system_profiler SPSoftwareDataType SPHardwareDataType SPPowerDataType | grep -E "Serial Number \(system\)|Computer Name|Cycle Count|Charge Remaining|Charge Capacity"

返回如下:

Computer Name: kissAir

Serial Number (system): XXXXXXXXXXXXXX :)

Charge Remaining (mAh): 4296

Full Charge Capacity (mAh): 4340

Cycle Count: 67

虽然有电池的信息,不过没有AC的信息,自己稍微修改了一下,删除那些不用的输出:

system_profiler SPPowerDataType

返回:

Power:

Battery Information:

Model Information:

Serial Number: XXXXXXXXXXXXXXX :)

Manufacturer: DP

Device Name: bq20z451

Pack Lot Code: 0

PCB Lot Code: 0

Firmware Version: 406

Hardware Revision: 1

Cell Revision: 173

Charge Information:

Charge Remaining (mAh): 4321

Fully Charged: No

Charging: No

Full Charge Capacity (mAh): 4321

Health Information:

Cycle Count: 67

Condition: Normal

Battery Installed: Yes

Amperage (mA): -9

Voltage (mV): 8268

System Power Settings:

AC Power:

System Sleep Timer (Minutes): 60

Disk Sleep Timer (Minutes): 10

Display Sleep Timer (Minutes): 10

Wake on AC Change: No

Wake on Clamshell Open: Yes

Wake on LAN: Yes

AutoPowerOff Delay: 14400

AutoPowerOff Enabled: 1

DarkWakeBackgroundTasks: 1

Display Sleep Uses Dim: Yes

PrioritizeNetworkReachabilityOverSleep: 0

Standby Delay: 4200

Standby Enabled: 1

Battery Power:

System Sleep Timer (Minutes): 10

Disk Sleep Timer (Minutes): 10

Display Sleep Timer (Minutes): 2

Wake on AC Change: No

Wake on Clamshell Open: Yes

AutoPowerOff Delay: 14400

AutoPowerOff Enabled: 1

Current Power Source: Yes

DarkWakeBackgroundTasks: 0

Display Sleep Uses Dim: Yes

Reduce Brightness: Yes

Standby Delay: 4200

Standby Enabled: 1

Hardware Configuration:

UPS Installed: No

AC Charger Information:

Connected: No

Charging: No

注意最后几行,那个就是AC的连接状态啊!不过还要进一步精简命令:

apple@kissAir: ~$system_profiler SPPowerDataType|grep Connected:

Connected: Yes

apple@kissAir: ~$system_profiler SPPowerDataType|grep Connected:

Connected: No

这次可以了,接下来就很简单了,用代码搞定吧:

#!/usr/bin/ruby

while true
	ret = `system_profiler SPPowerDataType|grep Connected:`
	if ret =~ /Yes/	#表示有电源接入
		puts "power come when #{Time.now}";break
	end;sleep 1
end

各位童鞋脑洞打开,帮我想想其他好方法吧!

最新文章

  1. js 轮播效果
  2. 博客CSS
  3. ubuntu中maven建的web项目不能将project facet设置为 dynamic web module 3.0
  4. 《深度探索C++对象模型》3
  5. Windows 7 的系统文件修复:sfc /scannow
  6. Python中lambda表达式学习
  7. Asp.Net 之 通过调用 WScript.Shell 启动本地 exe 程序时产生“ automation服务器不能创建对象 ”的错误
  8. union 和 union all 的区别
  9. VC青睐服装订制网站 市场规模超3000亿美元 - 找VC - 创业邦
  10. Hive 2、Hive 的安装配置(本地MySql模式)
  11. MP3/WAV 播放
  12. 5分种让你了解javascript异步编程的前世今生,从onclick到await/async
  13. 【c语言】统计一个数二进制中的1的个数
  14. 51Nod 1256 乘法逆元 扩展欧几里得
  15. windows 连接Linux
  16. 记录Javascript集合操作
  17. C#7.0中的解构功能---Deconstruct
  18. IDEA项目找不到浏览器报错的情况
  19. Java基础学习笔记十九 File
  20. 「Django」contenttypes基本用法

热门文章

  1. Android上下文菜单ContentView详解
  2. 如何使用分布是缓存Hazelcast
  3. [ExtJS5学习笔记]第十一节 Extjs5MVVM模式下系统登录实例
  4. matlab中的sub2ind函数
  5. 所谓 Spinner 组件
  6. Devstack: A copy of worked local.conf I'm sharing with you.
  7. iOS中 Swift初级入门学习(一)
  8. 将Ext JS 6应用程序导入Web项目
  9. STL:vector容器用法详解
  10. Dynamics CRM 2013 停用和激活按钮的显示与隐藏