14

現在 (10.8.2 をインストールしてから) MacOSX Mountain Lion で実行されるいくつかのプログラムが、不要な電源管理アサーションを設定する原因となっています。このようなアサーションをクリアする方法を探しています。

1 つの例を次に示します。これらのプログラムの 1 つ以上により、次の電源管理アサーションが「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」を実行することです。これにより、そのデーモンは誤ったアサーションなしで終了して再起動します。

そのデーモンを強制的に再起動せずに、「powerd」内の「PreventUserIdleDisplaySleep」アサーションをクリアする方法を 10.8.2 で知っている人はいますか? 必要に応じて、喜んで Cocoa、Carbon、または AppleScript プログラムを介してこれを行います。

IOPMLibについては知っていますが、そのライブラリ内のルーチンは、同じプロセス内で作成された電力アサーションのみをクリアできるようです。外部の既に実行中の「powerd」プロセスに、それが管理する「PreventUserIdleDisplaySleep」アサーションをクリアするように指示する方法が必要です。実行中の「powerd」インスタンス内で電源管理アサーションを外部から設定およびクリアするための API を知っている人はいますか? おそらく何らかの通知を介して... ???

4

2 に答える 2

-1

ここから抜粋

ライオンと書いてありますが、あなたが見ているのと同じ問題です。

pmset -g

pmset -g アサーション

ps -ax | grep [pid実行中]

kill -9 [pid 実行中]

于 2013-01-25T04:18:37.980 に答える