フリーズした通知センターを一発で再起動させる

Don't Stop My Love!

スリープ中にカレンダーの通知があると、通知センターが七色カーソルぐるぐるで止まったりしますが、その場合に速やかに通知センターを再起動させる方法です。

フリーズを解決できないので・・・

Mountain Lionの通知センターがよくレインボーカーソルになって固まる。

そうなると「閉じる」ボタンを押しても通知が消せなくて、無理矢理通知センターを終了させていました。

具体的にはアクティビティモニタを常に起動しておいて、止まったら通知センターを探してプロセス終了させていました。

しかし、結構な頻度で止まるのでめんどくさい。
せめて、その作業を簡単にできるようにしました。

Automaterでシェル実行

最初はシェルスクリプトのファイル作って、拡張子をcommandにして、chmod +xで実行権与えて直接デスクトップからシェルスクリプトを実行しようとしましたが、ターミナルのウィンドウが自動で閉じないのでこれも面倒だということで、Automaterを使うことにしました。

Automaterを起動してアプリケーションを選ぶ。

アプリケーションを選ぶのだ!

左のリストに「シェルスクリプトを実行」というのがあるので、これを右の枠にドロップ。

シェルスクリプトを実行なのだ!

ドラッグゥゥゥ!

入力欄に

kill `ps aux | grep NotificationCenter | grep -v grep | awk '{print $2}'`

と入力して、デスクトップなどに保存してAutomater終了。

Unixコマンドォォォゥゥッ!

一応、なにやってるか簡単に説明するとpsで実行中のプロセスの一覧を出して、その中のNotificationCenterの行を探して、そこの2列目にあるPIDをkillコマンドに渡して通知センターのプロセスを終了させています。
プロセス終了させるだけで、勝手に通知センターは再起動します。

リセット!リセット!リセットォォォゥゥッ!

保存したAutomaterのファイルを実行すると通知センターを再起動できます。

アクティビティモニタで見ていると、再起動されてPIDが変わるのが確認できます。

生まれ変わるゥゥッ!

とりあえず、問題の解決方法がわかるまでは、これで凌ぐしかないですね。

ちなみに通知センターのプロセス名は、事前にアクティビティモニタで通知センターのPIDを確認しておき、ターミナルで

ps aux | grep (通知センターのPID)

で調べた。

広告の下にお勧め記事あります!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください