ログ日記

作業ログと日記とメモ

Let's note の Windows XP の終了が極端に遅い現象

Windowsの終了が遅いことにふと気付いた。
いつから動作が遅くなったのか不明だが、ほんの一ヶ月程度*1で再現したので軽くショック。AndroidRS-232Cのドライバなどを入れたあとに遅くなった気はする。
遅いまま今後使っていくのは悲しいので今回は原因究明にトライした。


やり方は古典的にkillと二分探索で。
Process Explorerを入れて(別に標準のタスクマネージャでもいいが)、プロセスを次々killしていく。svchost.exeあたりをkillしたら強制的に再起動がかかるので先にそれ以外のものから。このときの終了時間が早いか遅いかでkillするプロセスを二分探索的に絞っていく。




やっと原因が分かった。
今回の場合はWindowsというかLet's note限定。
原因はhkeyapp.exeが終了しないこと。ログオフ時に応答待ちのようになって固まる。
強制終了したらプロセスは死なないが中のスレッドは減るので効果がある。


測ってみると、何もしない状態で電源が落ちるまで125秒(そのうちログオフまで90秒ほど何も動いていないように見える)、hkeyapp.exeをkillした後は電源が落ちるまで27秒(ログオフは一瞬)。


http://askpc.panasonic.co.jp/s/download/install/y7dwj.html#model1
hkeyapp.exe は Hotkey Appendix アプリケーション というものらしい。
このプログラムを削除するとファンクションキーが機能しなくなる。このアプリを再インストールしても症状は改善しなかった。


原因は分かったものの、解決方法が分からない。
仕方がないので正当な(?)やり方は諦めて、ログオフ時のスクリプトを書いた。
http://www.atmarkit.co.jp/fwin2k/win2ktips/455cexec/cexec.html
gpedit.msc で起動・終了・ログオン・ログオフ時にスクリプトを実行できる。


C:\WINDOWS\system32\GroupPolicy\User\Scripts\Logoff\hkeykill.bat

taskkill /F /IM hkeyapp.exe

こんな感じのスクリプトを登録した。


これでやっとWindowsインストール直後ぐらいの応答速度に戻った。