如何以编程方式检测笔记本电脑是否已插入? (OSX)

时间:2014-01-21 04:50:07

标签: macos shell

正如标题所说 - 我正在寻找一种方法,在OSX中,告诉我我的笔记本电脑当前是否已插入,以便我可以根据需要启动/暂停CPU密集型任务。

更好的是,这是一种在插入状态发生变化时收到通知的方法。

2 个答案:

答案 0 :(得分:8)

您可以使用pmset

  

-g ps / batt显示电池和UPS的状态。

话说:

pmset -g ps

会告诉您笔记本电脑是使用交流电源还是使用电池供电。

要转化为条件,以下内容应该有效:

if [[ $(pmset -g ps | head -1) =~ "AC Power" ]]; then
  echo "power on!"
fi

答案 1 :(得分:4)

pmset(1)看起来很有希望。具体做法是:

  

-g ps / batt显示电池和UPS的状态。

查看source code for pmset,您正在寻找的关键功能似乎是IOPSGetProvidingPowerSourceType

  

表示计算机当前正在绘制的电源。