Dlaczego moim listom w ~ / Library / Preferences towarzyszy pasujący plik blokujący w 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

do czego służą te pliki blokujące?

kch
źródło
1
Istnieje szczegółowa odpowiedź na to pytanie w cnet .
SSteve,
1
W Super User: Co to jest .lockfile?
Graham Perrin

Odpowiedzi:

8

Apple udostępnia programistom interfejs API Core Foundation Preference Services, który ułatwia zarządzanie preferencjami. Apple używa tego samego interfejsu API, a te pliki blokujące pomagają systemowi wiedzieć, jakie programy zapisują do plików, a także pomagają systemowi powiadamiać działający program o zmianie ustawienia.

System będzie śledził plik, który jest otwarty, nawet jeśli go wyrzucisz i usuniesz, ale prawdopodobnie najlepiej zostawić je w spokoju (jak większość ~ / Library), ponieważ nie ma cofania dla rzeczy, które są tam przechowywane - są one do obsługi „cofnięcie” reszty systemu.

bmike
źródło
1

Pliki blokujące służą do upewnienia się, że tylko jedna aplikacja współdziała z plikiem preferencji jednocześnie. Pomysł polega na tym, że aplikacja otwiera plik blokujący w trybie wyłączności podczas otwierania plist.

Źródło:

Steven Fisher
źródło
0

Niestety, zgadywanka jest czysta, ale zazwyczaj pliki blokujące służą do zatrzymania edycji pliku przez więcej niż jedną rzecz i spowodowania uszkodzenia.

Jednak jeśli uruchomisz fs_usage na komputerze Mac, aby obserwować aktywność systemu plików, nic nie wydaje się dotykać tych plików. Finder wydaje się czytać je wszystkie od czasu do czasu, ale wydaje się, że tak, nawet jeśli zmienisz ustawienia preferencji w różnych aplikacjach.

Alistair McMillan
źródło
po zamknięciu aplikacji plik blokady nie zniknął. Jeśli je wszystkie, wydaje się, że są odtwarzane dopiero po uruchomieniu aplikacji. Zmiana prefiksów aplikacji nie powoduje ich odtworzenia.
kch
0

Czy zauważyłeś, czy możesz dokonać zmian ustawień aplikacji? Widzę również te pliki blokujące, a preferencje nie są zapisywane w plikach plist.

AKTUALIZACJA: Odkryłem, że poprzednia lista ACL była na miejscu, co uniemożliwiało mi dokonywanie zmian w ustawieniach aplikacji. Usuwając listy ACL za pomocą chmod -R -N w moim folderze domowym, mogę teraz dokonywać zapisanych zmian.

Kent

Kent
źródło