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

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

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

方法三是直接打电话问门卫大叔,因为他们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. 百度地图开发之POI数据检索

    前面学习百度地图的一些基本的用法,这次我们一起来看一看百度地图的检索功能吧 poi检索api的基本用法 百度地图的POI类中共有如下几个方法 PoiBoundSearchOption POI范围内检索 ...

  2. EBS 客户表结构

     客户表/联系人/PARTY关联 HZ_PARTIES 客户账户表 HZ_CUST_ACCOUNTS SELECT hp.party_number --客户注册标识 , hp.party_name ...

  3. 【一天一道LeetCode】#141. Linked List Cycle

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...

  4. 摆脱命令行,Ubuntu下配置Android开发环境

    作者:宋志辉 微博:weibo.com/askzhihui/ 安装所需工具 一.新立得 新立得(Synaptic)是Debian和Ubuntu Linux操作系统的包管理工具apt的图形化前端. 它结 ...

  5. Dynamics CRM2013 ScLib::AccessCheckEx failed

    今天在系统中做某一操作的时候报如下截图错误,把错误日志下载下来,根据AccessRights这:ReadAccess一提示确定是对某一实体没有读的权限. 那怎样知道是哪个实体呢,再看上面错误日志中给出 ...

  6. 《java入门第一季》之泛型方法和泛型接口

    一.泛型方法. /* * 泛型方法:把泛型定义在方法上.格式:public <泛型类型> 返回类型 方法名(泛型类型 t) public <T> void show(T t){ ...

  7. 采购申请 POCIRM-001:ORA-01403: 未找到任何数据

    今天同事让帮忙看一个问题,在销售模块提交销售订单生成采购订单的请求时报错 查看请求日志 +------------------------------------------------------- ...

  8. React Native控件之Listview

    ListView组件用于显示一个垂直的滚动列表,其中的元素之间结构近似而仅数据不同. ListView更适于长列表数据,且元素个数可以增删.和ScrollView不同的是,ListView并不立即渲染 ...

  9. leetcode 20 Valid Parentheses 括号匹配

    Given a string containing just the characters '(', ')', '{', '}', '[' and']', determine if the input ...

  10. 【leetcode74】Sum of Two Integers(不用+,-求两数之和)

    题目描述: 不用+,-求两个数的和 原文描述: Calculate the sum of two integers a and b, but you are not allowed to use th ...