Як перевірити, що блокує файл?


11

Я помітив, що іноді Mail.app блокує файли. Сам замок дозволяє переміщувати файли до кошика, але не дозволяє видаляти кошик. (Можливо, сміття в цьому випадку має бути перейменовано на Thrash)

Чи існує спосіб (через команду термінала чи додаток) побачити, який додаток блокує файл та / або розблокувати файл, не виходячи з програми?


Ха-ха! Ти мене зрозумів. ;)
Міхал М

Відповіді:


13

Як каже Рабарберський, lsofйого можна використовувати для пошуку будь-якого процесу, у якому файл відкритий. Зауважте, що вам потрібно запустити програму як root, тобто за допомогою sudo, і що ви можете надати ім'я шляху до файла, який вас цікавить, як аргумент, тому немає потреби в grepвиклику в підказці, на яку вказує Рабарберський. Крім того, якщо процес містить блокування у файлі, ви повинні бачити це з стовпця FD у lsofвисновку. Детальну інформацію див. На сторінці керівництва. (Коли я працюю sudo lsofна своїй машині, я не бачу заблокованих файлів, тому не гарантую, що це працює правильно на Mac. sudoАдже це загальна програма Unix, і, можливо, деякі функції не працюють на OSX.)

Ви не можете розблокувати файл, не знищивши процес, який містить блокування. Але ви можете видалити його за rmдопомогою командного рядка.


Щойно зазначив нерозумну помилку: там, де написано " sudoвсе-таки ...", lsofя мав намір згадати. Не збираєтесь його редагувати - це занадто незначно, щоб гарантувати напис на головній сторінці.
Харальд Ханш-Олсен

6

Як зазначали інші, lsof робить трюк. Щоб зробити завдання ще простішим, я пропоную (безкоштовний) додаток "Що мене утримує" (URL: http://www.hamsoftengineering.com/products/wkm/wkm.html ), який в основному є фронтендом для lsof і має кілька варіантів економії часу.


1
Здається, посилання не працює, тому ось альтернативне місце розташування: macupdate.com/app/mac/27807/what/'s-keeping-me ?
Michal M

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.