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

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

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

方法三是直接打电话问门卫大叔,因为他们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

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

Mac OS X 简单的方法知道何时来电了的更多相关文章

  1. Mac OS OpenVpN 连接设置(转)

    下文介绍Mac OS连接使用OpenVPN方法教程,使用的软件是免费开源的Tunnelblick,当然也有其它连接软件,比如Viscosity,不过这个是付费的,还是前面的用的多. 1.下载安装Tun ...

  2. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  3. Virtualbox 上调整 Mac OS 分辨率 最简单方法

    Mac OS 分辨率:VBoxManage setextradata "Mac OS X 10.10" VBoxInternal2/EfiGopMode 3       ----代 ...

  4. Mac OS 文件、文件夹重命名的方法

    在Mac OS中,文件和文件名重命名的方法非常简单 选中你想要命名的文件或者文件夹,按回车,可以直接重命名,输入你要修改的内容,确认后,再按回车就OK啦--- 希望能对你有所帮助^_^

  5. 苹果Mac OS X显示隐藏文件的方法

    苹果Mac OS X显示隐藏文件的方法有很多种,这里介绍一种最简单的, 方法/步骤     打开“终端”,根据自己的版本选择命令   早期的OS X(10.6~10.8)系统可以使用如下两条命令来开始 ...

  6. Mac OS环境下媒体文件分割工具mediafilesegmenter的简单使用(生成M3U8 TS文件)

    mediafilesegmenter是苹果开发的一款用于分割媒体文件的工具,其功能与mediastreamsegmenter相似,但操作更简单. * 具体可以对比博客中的另一篇简介<Mac OS ...

  7. 教你Mac OS系统四种改动Hosts文件的方法

    使用Mac OS X系统的用户.在某些时候可能遇到了须要改动系统Hosts文件的情况,那么Mac OS系统怎样改动Hosts文件呢?和Windows系统有何差别呢?我们知道事实上改动Hosts文件仅仅 ...

  8. 在 Mac OS X Lion 下修改 Hosts 的四种方法

    一名刚刚使用 Mac OS X Lion 系统的朋友问我怎么该系统下修改 Hosts 文件,说网上搜了很多办法都不管用,只要编辑 Hosts 文件就出现”你不是文件 hosts 的所有者,因此没有权限 ...

  9. MAC OS U 盘制作与安装方法

    伴随着 iMac 5K Retina 和新的 Mac mini 等硬件的发布,苹果终于都推出了 OS X Yosemite 系统正式版了!相信很多人都已经用上.不过对于一些不想升级,而是打算「全新安装 ...

随机推荐

  1. UITableView如何撤销移动操作

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道使用UITableView的委托方法canMoveRo ...

  2. Dynamics CRM 2013 SP1 客户表单界面上联系人subgrid上的添加现有联系人功能缺失

    CRM2013打了SP1的同学会发现一个问题,客户关联联系人的1:N关系,在表单subgrid中添加联系人时,只能新建而无法添加现有联系人,而这个现象在之前的版本中是没有的. 我们通过工具ribbon ...

  3. How to Find the Self Service Related File Location and Versions

     How to Find the Self Service Related File Location and Versions (文档 ID 781385.1) In this Document ...

  4. CSS 控制table 滑动及调整列宽等问题总结

    一. 通过css控制table y方向上滚动 html中没有滚动条,可以根据overflow属性的scroll来对table显示不完全的内容进行滚动. 只是y方向上滚动,很简单,只要设置div的hei ...

  5. [sersync+rsync] centos6.5 远程文件同步部署记录

    针对本地文件的修改,自动同步到远程文件夹,远程备份很方面.研究了下大家的主流同步方案一般是 rsync+inotify和rsync+sersync, 我这里使用sersync的方案,当然大部分都是参照 ...

  6. Andriod的国际化-android学习之旅(五十八)

    android资源国际化

  7. 深度剖析malloc、free和new、delete

    1.malloc,free是C语言的函数,而new,delete是操作符,属于C++的语法,一定注意这两个不再是函数了,而是操作符. 2.malloc和new对于分配基础类型变量和数组变量,它们除了语 ...

  8. UNIX环境高级编程——线程同步之互斥锁、读写锁和条件变量(小结)

    一.使用互斥锁 1.初始化互斥量 pthread_mutex_t mutex =PTHREAD_MUTEX_INITIALIZER;//静态初始化互斥量 int pthread_mutex_init( ...

  9. pig的内置函数小总结(不全)

    piggybank里面有很多函数,可以用register和define调用.也可以用java仿照piggybank自行开发. 比如读sequence二进制文件,可以用piggybank里面函数Sequ ...

  10. 我眼中的Linux设备树(六 memory&chosen节点)

    六 memory&chosen节点根节点那一节我们说过,最简单的设备树也必须包含cpus节点和memory节点.memory节点用来描述硬件内存布局的.如果有多块内存,既可以通过多个memor ...