2010-03-11 2 views
5

Есть ли способ проверить, используя Python, как долго система простаивает на Mac? Или, если это не так, даже если система в настоящее время не работает?Тестирование на неактивность в Python на Mac

Ответ

Используя информацию из принятого решения, здесь некрасивая, но функциональная и довольно эффективная функция для работы:

from subprocess import * 

def idleTime(): 
    '''Return idle time in seconds''' 

    # Get the output from 
    # ioreg -c IOHIDSystem 
    s = Popen(["ioreg", "-c", "IOHIDSystem"], stdout=PIPE).communicate()[0] 
    lines = s.split('\n') 

    raw_line = '' 
    for line in lines: 
     if line.find('HIDIdleTime') > 0: 
      raw_line = line 
      break 

    nano_seconds = long(raw_line.split('=')[-1]) 
    seconds = nano_seconds/10**9 
    return seconds 
+0

Что означает «простоя»? Как вы это определяете? –

+0

Независимо от того, что система определяет как «незанятый». То есть что система рассматривает простой, прежде чем принимать Заставка или Энергосбережение. Я предполагаю, что движение мыши или клавиатуры не будет прекрасным. –

ответ

0

Непроверенных (на данный момент), но according to this thread вы могли бы разобрать выход

ioreg -c IOHIDSystem

+0

Хорошо, что работает. Публикация моего решения в исходном вопросе. Спасибо за лидерство. –