外付けUSBバックアップディスクで作業した後、ドライブをきれいにアンマウントしたい。取り出しボタンを押すと、Finderが警告メッセージを表示します。
または
と表示されたり、ターミナルを使おうとするとumount /Volumes/Diskname`。
私の知る限り、このディスクは使用していませんが、Finderでは使用していることになっていますので、間違っているのでしょう。私は、ドライブのクリーンなアンマウントを希望します。複数の作業をしている最中なので、ログアウトしたりログインしたり、サードパーティのソフトウェアをインストールしたりするのは好ましくありません。
ターミナルコマンドの lsof
が使えるかもしれませんが、個人的にはこのような 'simple'な問題にしては複雑すぎると思いますし、正直なところ、正しい使い方がわかりません。
質問です。どのプログラムが私のドライブを使用しているかを知り、そのプログラムを適切に終了させてドライブを取り出すにはどうしたらよいでしょうか?
。 . . .
確かに lsof
が一番のお勧めです。一番早くて簡単な方法はこれです :-)
sudo lsof /Volumes/myDrive
実行には数分かかりますが、完了すると、ディスク上の開いているファイルのリストが表示されます。出力は以下のようになります。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mds 89 root 19r DIR 52,3 432 2 /Volumes/Photos
mds 89 root 23r DIR 52,3 432 2 /Volumes/Photos
Finder 681 alans 14r DIR 52,3 432 2 /Volumes/Photos
QuickLook 2158 alans 9r REG 52,3 1141591 78651 /Volumes/Photos/_tmp_iphone_10_backup/APC_1546.JPG
この場合、ファイルを開いているのは QuickLook
アプリケーションです。この問題を解決するには、アプリケーションを直接閉じるのが最善の方法です。しかし、それができない場合もあります。例えば、QuickLookはDockでアクセスできるアプリケーションとして表示されていません。
手動でアプリケーションを閉じることができない場合は、kill
コマンドを使ってコマンドラインからアプリケーションを終了させることができます。そのためには、2番目の列のPID
をkillするIDとして使います。上記の例では、次のようになります。
kill 2158
この方法ではうまくいかない場合があり、より攻撃的な形式の kill
を使用しなければならないことに注意してください。ここでは、攻撃性をエスカレートさせた一連の例を紹介します(例のPID 2158を使用)。
kill 2158
sudo kill 2158
sudo kill -INT 2158
sudo kill -KILL 2158
プロセスやアプリケーションがkillされた後は、ディスクを取り出すことができるはずです。
最後の注意点として、lsof
は1~2分かかることがあります。また、ハングアップすることもありますが、そう判断するまでに少なくとも数分はかかるはずです。
また、基本コマンドである「sudo lsof /Volumes/myDrive」では何も見つからないことがあります。そのような場合は、+D
の引数を追加してみてください(例:sudo lsof +D /Volumes/myDrive
)。これでディスクのトップダウンスキャンができます。時間はかかりますが、ディスクが取り出せない原因となっているものが見つかるはずです。
(詳細はAlec Jacobson's postを参照してください。_)
ドネーションウェアのアプリケーション "What's Keeping me?" を試してみてください。
このプログラムは、開発者によってMac OS X 10.6 Snow Leopard用と認定されていますが、このアプリケーションのRoaringAppsページには、OS X 10.7 LionおよびOS X 10.8 Mountain Lionで問題なく動作すると記載されています。
困ったことがありますか? ゴミ箱を空にしたり、ディスクを取り出したりするときに、何かに邪魔されてできないということはありませんか?たいていの場合、何らかのアプリケーションがファイルを開いているために、ディスクを取り除いたり、ファイルをゴミ箱に入れたりすることができないことが原因です。そこで、私たちは「What's Keeping Me」を作りました。What's Keeping Me」は、ファイルを開いたままにしているアプリケーションを特定します。そして、What's Keeping Meを使って、問題のアプリケーションを終了させ(必要であれば殺す)、タスクを実行できるようにします。What's Keeping MeにはAutomatorのワークフローが含まれているので、Finderから直接検索を実行することもできます。
ボリューム上に開いているファイルがないことを確認しているにもかかわらず、このメッセージが表示されたことがあります。ディスク上のオープンファイルを示すことができるGUIツールであるWhy Not Unmountで確認しました。
私の場合は、ファイルシステムが壊れていることを示していました。ディスクユーティリティー(それでも足りなければDiskWarrior)を実行すると問題は解決し、ディスクが再びイジェクト可能になりました。