Почему мои списки в ~ / Library / Preferences сопровождаются соответствующим файлом блокировки в Lion?

13
$ cd ~/Library/Preferences
$ ls -1 | grep plist | head -10
AddressBookMe.plist
com.adiumX.adiumX.plist
com.adiumX.adiumX.plist.lockfile
com.apple.AddressBook.plist
com.apple.AddressBook.plist.lockfile
com.apple.BezelServices.plist
com.apple.BezelServices.plist.lockfile
com.apple.BluetoothAudio.plist
com.apple.Console.LSSharedFileList.plist
com.apple.Console.LSSharedFileList.plist.lockfile

для чего нужны эти файлы?

KCH
источник
1
На cnet есть подробный ответ .
SSteve
1
В Super User: что такое .lockfile?
Грэм Перрин

Ответы:

8

Apple предоставляет API-интерфейс Core Preference Services API для разработчиков, который упрощает управление ими. Apple использует тот же API, и эти файлы блокировки помогают системе узнать, какие программы пишут в файлы, и это помогает системе уведомлять запущенную программу при изменении настроек.

Система будет следить за файлом, который открыт, даже если вы удаляете и удаляете его, но, вероятно, лучше оставить его в покое (как и большинство из ~ / Library), так как нет ничего отменить для вещей, которые там хранятся - они там для поддержки "Отмена" остальной части системы.

bmike
источник
1

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

Источник:

Стивен Фишер
источник
0

К сожалению, только догадки, но, как правило, блокирующие файлы служат для того, чтобы не допустить, чтобы файл редактировался более чем одним объектом одновременно и вызывал повреждение.

Однако, если вы запускаете fs_usage на своем Mac для наблюдения за активностью файловой системы, кажется, что эти файлы ничего не касаются. Кажется, что Finder иногда просматривает их все, но это так, даже если вы меняете настройки предпочтений в различных приложениях.

Алистер Макмиллан
источник
когда вы выходите из приложения, файл блокировки не исчезает. rm'd их всех, они только кажутся воссозданными при запуске приложения. Изменение настроек приложения не создает их заново.
KCH
0

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

ОБНОВЛЕНИЕ: я обнаружил, что предыдущий ACL был на месте, который мешал мне вносить изменения в настройки приложения. Удалив ACL с помощью chmod -R -N в моей домашней папке, я теперь могу вносить изменения, которые были сохранены.

Кент

Кент
источник