7

Когда вы пытаетесь очистить корзину в OS X, и в приложении все еще открыт файл, вы получите диалоговое окно:

Операция не может быть завершена, потому что используется элемент «…».

Как я могу узнать, какое приложение или какой процесс все еще использует этот файл?

2 ответа2

13

Использование lsof чтобы найти то, что держит файл открытым

Откройте Terminal.app и используйте следующую команду, чтобы попасть в корзину:

cd ~/.Trash

Теперь введите следующую команду:

lsof name-of-file

Например, на приведенном выше снимке экрана это будет: lsof pdf\ 08-53-59.pdf (важно, чтобы здесь не было пробелов). Вы также можете просто ввести lsof с пробелом, а затем перетащить файл из корзины Finder в окно терминала.

Команда выведет что-то вроде следующего:

charon:.Trash werner$ lsof pdf\ 08-53-39.pdf 
COMMAND  PID   USER   FD   TYPE DEVICE  SIZE/OFF     NODE NAME
Finder  5022 werner  txt    REG   14,2 636141715 32494023 pdf 08-53-39.pdf

В этом случае мы знаем, что Finder держит файл открытым. Для любого другого приложения было бы легко просто активировать и выйти из него. В случае с Finder, нет очевидной кнопки "выйти".

Чтобы убить Finder и освободить документ, просто введите следующее в Терминале:

killall Finder

Теперь вы должны иметь возможность очистить корзину.

Другие хитрости

Если вышеописанное не удается, вот несколько основных приемов, которые вы можете попробовать очистить корзину:

  • Выйдите из вашего пользователя и войдите снова
  • Перезагрузите Mac, войдите снова
2

lsof не вернул мне ничего, даже с sudo. Но простой rm добился цели.

cd ~/.Trash

В моем случае это было приложение так:

rm -rf some.app

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .