有没有人知道查询OS X的方法,以便在进入系统睡眠或激活显示器睡眠(甚至是磁盘睡眠)之前,通过命令行或任何方式查看实际剩余的时间其他方法(例如Ruby或Objective-C)?
我认为通过命令行提供的pmset可能提供了这些信息,但它似乎只显示和更新当前设置,而不是允许反馈操作系统当前循环的位置。
我的要求是我目前有一个Ruby脚本,我只想在我不使用机器时运行,并且一个简单的'whatcher脚本'允许这样做,但是'看'是什么我是需要一些帮助。
似乎应该有一个简单的答案,但到目前为止我还没有找到任何明显的答案。有什么想法吗?
答案 0 :(得分:6)
下面是一个bash脚本来显示命令,这些命令有点复杂。想法是用户在节能器偏好窗格中设置系统休眠时间。当没有连接到计算机的设备移动那段时,系统实际上将进入休眠状态。因此,为了获得系统进入睡眠状态的时间,我们需要区分这两个结果。
#!/bin/bash
# this will check how long before the system sleeps
# it gets the system sleep setting
# it gets the devices idle time
# it returns the difference between the two
#
# Note: if systemSleepTimeMinutes is 0 then the system is set to not go to sleep at all
#
systemSleepTimeMinutes=`pmset -g | grep "^[ ]*sleep" | awk '{ print $2 }'`
if [ $systemSleepTimeMinutes -gt "0" ]; then
systemSleepTime=`echo "$systemSleepTimeMinutes * 60" | bc`
devicesIdleTime=`ioreg -c IOHIDSystem | awk '/HIDIdleTime/ {print $NF/1000000000; exit}'`
secondsBeforeSleep=`echo "$systemSleepTime - $devicesIdleTime" | bc`
echo "Time before sleep (sec): $secondsBeforeSleep"
exit 0
else
echo "The system is set to not sleep."
exit 0
fi