スリープ中にカレンダーの通知があると、通知センターが七色カーソルぐるぐるで止まったりしますが、その場合に速やかに通知センターを再起動させる方法です。
フリーズを解決できないので・・・
Mountain Lionの通知センターがよくレインボーカーソルになって固まる。
そうなると「閉じる」ボタンを押しても通知が消せなくて、無理矢理通知センターを終了させていました。
具体的にはアクティビティモニタを常に起動しておいて、止まったら通知センターを探してプロセス終了させていました。
しかし、結構な頻度で止まるのでめんどくさい。
せめて、その作業を簡単にできるようにしました。
Automaterでシェル実行
最初はシェルスクリプトのファイル作って、拡張子をcommandにして、chmod +xで実行権与えて直接デスクトップからシェルスクリプトを実行しようとしましたが、ターミナルのウィンドウが自動で閉じないのでこれも面倒だということで、Automaterを使うことにしました。
Automaterを起動してアプリケーションを選ぶ。
左のリストに「シェルスクリプトを実行」というのがあるので、これを右の枠にドロップ。
入力欄に
kill `ps aux | grep NotificationCenter | grep -v grep | awk '{print $2}'`
と入力して、デスクトップなどに保存してAutomater終了。
一応、なにやってるか簡単に説明するとpsで実行中のプロセスの一覧を出して、その中のNotificationCenterの行を探して、そこの2列目にあるPIDをkillコマンドに渡して通知センターのプロセスを終了させています。
プロセス終了させるだけで、勝手に通知センターは再起動します。
保存したAutomaterのファイルを実行すると通知センターを再起動できます。
アクティビティモニタで見ていると、再起動されてPIDが変わるのが確認できます。
とりあえず、問題の解決方法がわかるまでは、これで凌ぐしかないですね。
ちなみに通知センターのプロセス名は、事前にアクティビティモニタで通知センターのPIDを確認しておき、ターミナルで
ps aux | grep (通知センターのPID)
で調べた。