TortoiseSVN(TSVNCache.exe)が、ファイル or フォルダをつかんでいる件
Subversion のリポジトリと作業コピーを TrueCrypt のドライブに入れて使っています。
常に有効になっているとは限らないドライブにリポジトリ/作業コピーを置くのはいかがなものか?とも思いますが、とりあえずそれは置いておいて・・・。
そういう使い方をする場合、TrueCyrpt のドライブをマウントしてからリポジトリ/作業コピーを使い、使い終わったらアンマウントすることになります。*1
リポジトリ/作業コピーを TrueCrypt のドライブに置いてから、ドライブのアンマウト時に
ファイル or フォルダをアプリケーションがつかんでいるからやばいかもしれないけど、無理矢理アンマウントするか?
という警告が出るようになってしまいました。
そこで、どのアプリケーションがつかんでいるのか調べてみました。
Process Explorer というツールを使います。
- アンマウント時に警告が出た時に、Process Explorer を起動し、Find → Find Handle or DLL… を選びます。
- Handle or DLL substring: に、対象のドライブレターを入れて検索します。
- すると、1件引っかかりました。プロセス名は、TSVNCache.exe。
これを、google で検索すると、わらわらとひっかかります。どうやら有名人のようです。
この exe は、オーバーレイアイコンをスムースに表示するために、作業コピー内のファイルの変更監視をしているとのこと。
さらに、TSVNCache.exe は普通は画面上に何も表示されないのですが、これをトレイアイコンに表示する設定もあるとのこと。(via TSVNCache.exeがどのパスをcrawlしているのかを知る方法)
この設定をすると、TSVNCache.exe がトレイアイコンに出てきました。
さらに、このアイコンを右クリックすると Exit というメニューが出てきてプロセスを終了できるようになります。
ということで、TrueCrypt のドライブをアンマウントする前に TSVNCache.exe を Exit すればアンマウントできるようになり、解決しました。
*1:だいたいは起動時にマウントし、シャットダウン前にアンマウントするので、そんなに煩雑ではありません。