Есть некоторые программы, работающие под MacOSX Mountain Lion, которые теперь (после установки 10.8.2) вызывают установку нежелательных утверждений управления питанием. Я ищу способ очистить утверждения, подобные этим.
Вот один пример: одна или несколько из этих программ вызывают установку следующего утверждения управления питанием в «powerd». Обратите внимание на строку "powerd" ниже...
% pmset -g assertions
10/7/12 11:51:47 AM EDT
Assertion status system-wide:
PreventUserIdleDisplaySleep 1
CPUBoundAssertion 0
PreventSystemSleep 0
PreventUserIdleSystemSleep 0
ExternalMedia 0
UserIsActive 0
ApplePushServiceTask 0
BackgroundTask 0
Listed by owning process:
pid 18(powerd): [0x00000005000001d7] 11:24:18 PreventUserIdleDisplaySleep named: "com.apple.powermanagement.delayDisplayOff"
... etc. ...
Эти программы завершают работу и оставляют это утверждение управления питанием внутри «powerd», и оно остается активным навсегда. Это предотвращает запуск «спящего режима» и экранной заставки.
Единственный вариант, который я знаю в этом случае (кроме перезагрузки), - это выполнить «kill -HUP» в процессе «powerd». Это приводит к тому, что демон завершает работу и перезапускается без неверного утверждения.
Кто-нибудь знает способ под 10.8.2, чтобы я мог очистить утверждение «PreventUserIdleDisplaySleep» в «powerd» без принудительного перезапуска этого демона? Я рад сделать это с помощью программы Cocoa, Carbon или AppleScript, если это необходимо.
Я знаю о IOPMLib, но подпрограммы в этой библиотеке только кажется, что они могут очищать утверждения власти, которые были созданы в рамках одного и того же процесса. Мне нужен способ указать внешнему и уже запущенному процессу "powerd" очистить утверждение "PreventUserIdleDisplaySleep", которым управляет он. Кто-нибудь знает API для внешней настройки и очистки утверждений управления питанием в работающем экземпляре «powerd»? Возможно, через какое-то уведомление...???
sudo pmset -c 2 -b 1 -u 1
- person mb21   schedule 06.09.2018