有些程序在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”中,并且它永远保持活跃状态。这可以防止“显示睡眠”和屏幕保护程序被调用。
在这种情况下我知道的唯一选项(除了重启)是在“powerd”进程上执行“kill -HUP”。这会导致守护进程退出并重新启动而不会出现错误的断言。
有没有人知道10.8.2下的方法让我在“powerd”中清除“PreventUserIdleDisplaySleep”断言,而不强制重启该守护进程?如果有必要,我很高兴通过Cocoa,Carbon或AppleScript程序这样做。
我知道IOPMLib,但该库中的例程似乎只能清除在同一进程中创建的权限断言。我需要一种方法来告诉外部和已经运行的“powerd”进程清除 it 管理的“PreventUserIdleDisplaySleep”断言。有没有人知道在运行的“powerd”实例中外部设置和清除电源管理断言的API?也许是通过某种通知...... ???
答案 0 :(得分:1)
答案很简单。我遇到了同样的问题。
备份/Library/LaunchAgents/LaunchDaemons/Internet Plug-ins
中可以找到的以下文件夹。
下一个。清空文件夹的内容。然后重启你的mac。测试您的能量设置或只测试终端(pmset -g assertions
)。你的问题应该解决。您可以逐个放回文件以查找导致问题的文件或保留这种方式。
当您使用Safari并且缺少插件时,您会弹出一个弹出窗口。您只需重新安装即可。你的mac应该可以正常工作。
答案 1 :(得分:-1)
它说狮子,但你遇到的问题也是如此。
pmset -g
pmset -g断言
ps -ax | grep [pid running]
kill -9 [pid running]