ガイド/ファイルを使っているアプリ

Macでファイルを使っているアプリを見つける方法

Atta 🐬

Vitalsの創業者

公開日

結論

Macでどのアプリがファイルを開いているかを見つけるには、ターミナルでlsofとスペースを入力し、ファイルをウインドウにドラッグしてReturnキーを押します。最初の列にプロセスの名前が表示されます。フォルダなら、lsof +Dでその中で開かれているすべてを一覧表示できます。アクティビティモニタでは、プロセスをダブルクリックして“開いているファイルとポート”を開きます。怪しいアプリの見当がついているときに役立ちます。そのアプリを終了すれば、ファイルは使えるようになります。Mac用アクティビティモニタ兼プロセスインスペクタのVitalsなら、開いているすべてのファイルを一度に検索できます。“開いているファイル”で名前の一部を入力すると、そのファイルを開いているアプリが一覧表示されます。

ターミナルでファイルを使っているアプリを見つける方法

  1. 01 “アプリケーション”→“ユーティリティ”にあるターミナルを開きます。
  2. 02 lsofとスペースを入力し、Finderからファイルをウインドウにドラッグして、Returnキーを押します。
  3. 03 最初の2列を見ます。プロセス名とそのPIDです。何も出力されなければ、自分のプロセスでそのファイルを開いているものはありません。
  4. 04 macOSやほかのユーザが実行しているプロセスも含めるには、先頭にsudoを付けてもう一度実行します。
  5. 05 表示されたアプリを終了します。ウインドウのないプロセスには、PIDを付けてkill <PID>を実行します。

プロセスはアプリではなくヘルパーのこともあります。QuickLookUIServiceはクイックルックのもので、名前がHelperで終わるものは、その前に付いた名前のアプリのものです。

macOSは、プログラムがファイルを開いている間、そのファイルを使用中として扱います。ゴミ箱に入れられない、名前を変更できない、ディスクを取り出せないといったことが起きるのはそのためです。どこを見ればいいかがわかれば、プロセスは簡単に見つかります。下の表に、メッセージごとのよくある原因をまとめました。

使用中のファイル:表示される内容と、考えられる原因

見えているもの考えられる原因すること
“項目は使用中のため、操作を完了できません” アプリがファイルを開いているか、クイックルックでプレビュー中 書類かプレビューを閉じてから、もう一度試す
ゴミ箱を空にできない ゴミ箱の中のファイルが、まだアプリで開かれている アプリを終了するか、再起動してからゴミ箱を空にする
ファイルの名前を変更できない、または移動できない アプリが書き込み中 保存や書き出しが終わるのを待つ
ディスクを取り出せない ディスク上のファイルかフォルダが開かれている Macでディスクを取り出せないを参照
ファイルがロックされている “情報を見る”で“ロック”にチェックが入っている(使用中とは別) “情報を見る”で“ロック”のチェックを外す

アクティビティモニタで探す

アクティビティモニタには、ファイルをまたいで検索する機能がありません。怪しいアプリがあれば、ダブルクリックして“開いているファイルとポート”タブを開き、一覧でファイルのパスを探します。忙しいアプリでは一覧が長く、一度に扱えるのは1つのプロセスだけです。

lsofの出力の読み方

1行が開いているファイル1つです。COMMANDはプロセス、PIDはその番号、FDはファイルの開き方、NAMEはパスです。FDでは、数字のあとにrが付けば読み込み、wなら書き込み、uなら両方です。cwdはプロセスが作業しているフォルダ、txtはプログラムと読み込んだライブラリです。

1つのプロセスが開いているすべて

逆に、プロセスからそのファイルを調べるには、PIDを付けてlsof -p <PID>を実行します。lsof -c Previewは、指定した文字で名前が始まるすべてのプロセスのファイルを一覧表示します。

ファイルがゴミ箱にあるとき

ゴミ箱の中のファイルが1つでも開かれている間は、ゴミ箱を空にできません。そのファイルを開いていたアプリを終了します。どれかわからなければ、lsof +D ~/.Trashでそこで開かれているものを一覧表示できます。調べるには、ターミナルにフルディスクアクセスが必要な場合があります。Macを再起動するとすべてが閉じられるので、そのあとならゴミ箱を空にできます。

何も開いていないとき

sudoを付けてもlsofが何も出力しなければ、そのファイルは使用中ではありません。それでも変更できないファイルは、ロックされているか、ほかのユーザが所有しているか、読み出し専用でマウントされたディスク上にあります。“情報を見る”で、“ロック”のチェックボックスとアクセス権を確認できます。

Vitalsでできること

Vitalsは、Macで開かれているすべてのファイルを名前で検索します。

  • “デベロッパ”タブの“開いているファイル”:⌘Fを押してファイル名やパスの一部を入力すると、一致するファイルを開いているすべてのアプリが一覧表示
  • プロセスごとではなくアプリごと:ヘルパーは属するアプリの下に数える
  • ディスク上の各アプリのファイルと、書き込み用に開いている数
  • 同じ行から、確認のあとでアプリを終了

知っておくと便利なこと

  • “システム全体の計測”がオフだと、macOS自身のプロセスのファイルは表示されず、Vitalsがその数を伝えます。
  • Vitalsが表示するのは、誰がファイルを開いているかです。ファイルのロックを解除したり、アクセス権を変更したりはしません。
  • “開いているファイル”はウインドウにあり、メニューバーのドロップダウンにはありません。
Vitalsを購入 $29 Lifetimeは発売記念期間は$29、その後は$49です。買い切りで、14日間の返金保証付き。または、1年間のアップデートは$15です。

よくある質問

Macでファイルを使っているプロセスを確認するには?

ターミナルで、lsofのあとにファイルのパスを付けて実行します。最初の列がプロセス、2列目がそのPIDです。

Macで項目が使用中と表示されるのはなぜですか?

アプリかプレビューが、まだそのファイルを開いているからです。書類を閉じるか、アプリを終了するか、クイックルックのプレビューを閉じてから、もう一度試してください。

Macで使用中のファイルを削除するには?

lsofでアプリを見つけて終了してから、ファイルをゴミ箱に入れます。何も表示されなければ、Macを再起動してから削除します。

アクティビティモニタで開いているファイルを確認できますか?

はい、一度に1つのプロセスずつです。プロセスをダブルクリックして“開いているファイルとポート”を開きます。すべてのプロセスをまたいでファイルを検索することはできません。

lsofにsudoは必要ですか?

sudoなしでは、自分のプロセスだけが表示されます。sudoを付けると、Spotlightなど、macOS自身のプロセスも含まれます。

どのアプリがファイルを開いているかを表示するアプリはありますか?

Vitalsで確認できます。“開いているファイル”セクションでファイル名の一部を入力すると、どのディスクにあっても、そのファイルを開いているアプリが一覧表示されます。

用語集

ほかのガイド