Mengapa daftar saya di ~ / Library / Preferences disertai dengan lockfile yang cocok di 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

untuk apa lockfile ini?

kch
sumber
1
Ada jawaban mendalam untuk ini di cnet .
SSteve
1
Di Super User: Apa itu .lockfile?
Graham Perrin

Jawaban:

8

Apple memasok API Layanan Preferensi Yayasan Core kepada pengembang yang membuatnya mudah bagi mereka untuk mengelola preferensi. Apple menggunakan API yang sama dan file-file kunci ini membantu sistem mengetahui program-program apa yang menulis ke file-file itu dan membantu sistem memberi tahu program yang sedang berjalan ketika suatu pengaturan diubah.

Sistem akan melacak file yang terbuka walaupun Anda membuang dan menghapusnya, tetapi mungkin lebih baik membiarkannya saja (seperti kebanyakan ~ / Perpustakaan) karena tidak ada undo untuk hal-hal yang disimpan di sana - mereka ada untuk mendukung "undo" dari sisa sistem.

bmike
sumber
1

Lockfiles digunakan untuk memastikan hanya satu aplikasi yang berinteraksi dengan file preferensi sekaligus. Idenya adalah aplikasi membuka lockfile dalam mode eksklusif saat ia membuka plist.

Sumber:

Steven Fisher
sumber
0

Sayangnya hanya menebak, tetapi biasanya ada kunci untuk menghentikan file yang diedit oleh lebih dari satu hal sekaligus dan menyebabkan korupsi.

Namun jika Anda menjalankan fs_usage di Mac Anda untuk menonton aktivitas sistem berkas, sepertinya tidak ada yang menyentuh file-file ini. Finder tampaknya membaca semuanya kadang-kadang tetapi sepertinya begitu, bahkan jika Anda mengubah pengaturan preferensi di berbagai aplikasi.

Alistair McMillan
sumber
ketika Anda keluar dari aplikasi, lockfile tidak hilang. rm'd mereka semua, mereka hanya tampaknya diciptakan kembali pada saat peluncuran aplikasi. Mengubah prefs untuk suatu aplikasi tidak membuatnya ulang.
kch
0

Pernahkah Anda memperhatikan jika Anda dapat melakukan perubahan pengaturan pada aplikasi? Saya melihat kunci-kunci ini juga dan preferensi tidak disimpan ke file plist.

PEMBARUAN: Saya menemukan bahwa ACL sebelumnya ada di tempat yang mencegah saya membuat perubahan pada pengaturan aplikasi. Dengan menghapus ACL menggunakan chmod -R -N pada folder rumah saya, saya sekarang dapat membuat perubahan yang disimpan.

Kent

Kent
sumber