Mac OS X: как узнать, кто использует файлы, которые я пытаюсь удалить?

10

У меня есть пара файлов, которые я хочу удалить. Поэтому я выбираю их, а затем делаю Переместить в корзину. Однако, когда я делаю это, я получаю это сообщение:

Некоторые элементы, которые вы перемещаете, используются другим приложением. Перемещение элементов может вызвать проблемы с приложением, использующим их. Вы уверены, что хотите переместить эти предметы?

[Стоп] [Продолжить]

Моя проблема в том, что я не могу найти никаких приложений, которые используют эти файлы. Я тоже пытался бежать

lsof | grep <part of filename>

Но я и там ничего не видел. Что здесь происходит? Как я могу узнать, почему файл "заблокирован"? Есть ли что-нибудь похожее на приложения LockHunter или Unlocker в Windows?

Примечание: я понимаю, что, возможно, я мог бы попытаться просто нажать «Продолжить» вместо «Стоп», но я хотел бы сначала узнать, а также узнать, могу ли я что-то сделать. Если я переопределю то, что их удерживает и удаляет, у меня не будет способа проверить предлагаемые решения здесь: p

Примечание: для других читающих этот пост; Я обнаружил, что мне не нужно использовать grep вообще. Я могу просто сделать lsof <filename>. Вероятно, что-то, что большинство людей знает, но я не знал: p

Svish
источник
2
Пробовал sudo lsof?
Debilski
Сделал сейчас, но тоже ничего не получил.
Свиш
1
Не решение, но предполагается, что Snow Leopard обладает лучшей информацией о том, почему вы не можете делать что-то с файлом
Peter M
Если бы у нас был только Intel ...
Свиш

Ответы:

3

Как отмечает Дебилски, вы можете подумать о повторном запуске команды sudo.

Вероятный виновник, которого я часто обнаруживаю, это QuickLook: если вы предварительно просматриваете файл до его удаления, это может быть относительно короткая блокировка файла. Если это так, то после снятия блокировки (или выхода из системы) вы сможете удалить файл.

Джереми Л
источник
Есть ли способ, которым я могу "увидеть", присутствует ли эта блокировка или нет? И есть ли способ освободить его без выхода из системы?
Свиш
Использование lsof- единственный способ увидеть это. Единственный способ освободить его - это выйти из процесса, который имеет блокировку (что, если это фоновое приложение с графическим интерфейсом, достигается выходом из системы).
Джереми Л
0

Если вам нужен графический интерфейс, посмотрите на WhatsOpen .

Это для MacOS 10.5 или выше (протестировано на 10.6 и 10.7) и доступно в американском Mac AppStore.

WhatsOpen - это утилита MacOSX, разработанная, чтобы помочь вам определить, что держит ваши файлы открытыми. При извлечении съемного носителя, связанного с используемыми файлами, возникает общая ошибка OSX. Часто ваши файлы используются Spotlight или какой-либо другой внутренней системой, и вы даже не знаете, какую программу убить, чтобы освободить файлы и разрешить извлечение носителя. Эта утилита делает это совсем несложно. Он также предоставляет множество других функций администрирования, которые могут оказаться полезными.

УДАЛЕНО
источник