Ini adalah perintah dengan-lock-ex yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
dengan-lock-ex - loker file
RINGKASAN
dengan-lock-ex -w|-q|-f file kunci Command args ...
DESKRIPSI
with-lock-ex akan membuka dan mengunci lockfile untuk menulis dan kemudian memberi makan sisa
argumennya untuk eksekutif(2); ketika proses itu berakhir, fd akan ditutup dan file
dibuka secara otomatis oleh kernel.
Jika file tidak ada, itu dibuat, dengan izin rw untuk setiap kelas pengguna untuk
yang dimiliki umask w.
PILIHAN
-w Tunggu hingga kunci tersedia.
-f Gagal (mencetak pesan ke stderr dan keluar 255) jika kunci tidak dapat diperoleh
segera karena proses lain memilikinya.
-q Diam-diam tidak melakukan apa-apa (yaitu, keluar dari 0 alih-alih menjalankan proses yang ditentukan) jika
kunci tidak dapat diperoleh segera karena proses lain memilikinya.
BASI KUNCI
Protokol penguncian yang digunakan tidak mengalami kunci basi. Jika kunci tidak bisa
diperoleh, satu atau lebih proses yang berjalan saat ini harus menahan kunci; jika kunci perlu
dibebaskan proses tersebut harus dibunuh.
Dalam situasi apa pun pekerjaan cron `stale lock cleaner', atau sejenisnya, tidak boleh dilembagakan.
Dalam sistem di mana banyak sekali kunci mungkin ada, file kunci lama dapat dihapus dari cron tetapi
hanya jika setiap kunci diperoleh sebelum file kunci dihapus, misalnya dengan
dengan-lock-ex -q file kunci rm file kunci
DEADLOCK
Tidak ada deteksi kebuntuan. Dalam sistem dengan beberapa kunci, hierarki kunci harus
ditetapkan, sehingga untuk setiap pasang kunci A dan B yang mungkin dikunci oleh suatu proses
sekaligus A>B or B>A dimana relasi > adalah transitif dan nonsiklik.
Kemudian, untuk setiap dua kunci X dan Y dengan X>Y dilarang memperoleh X sambil memegang Y.
Sebagai gantinya, dapatkan X pertama, atau lepaskan Y sebelum (kembali) memperoleh X dan Y dalam urutan itu.
(Ada cara yang lebih rumit untuk menghindari kebuntuan, tetapi hierarki kunci mudah untuk
memahami dan menerapkan. Jika tidak memenuhi kebutuhan Anda, lihat literatur.)
MENGUNCI PROTOKOL
Protokol penguncian yang digunakan oleh dengan-lock-ex adalah sebagai berikut:
Kunci dipegang oleh suatu proses (atau sekelompok proses) yang memegang kunci eksklusif fcntl
pada byte pertama dari file biasa yang memiliki nama tertentu. Seorang pemegang kunci
(dan hanya pemegang kunci) dapat menghapus file atau mengubah inode yang namanya
mengacu, dan segera setelah itu berhenti memegang kunci.
Setiap proses dapat membuat file jika tidak ada. Tidak perlu file untuk
berisi data aktual. Memang, sebenarnya menggunakan file untuk penyimpanan data sangat
tidak disarankan, karena ini akan menyita sebagian besar strategi untuk pembaruan yang andal. Gunakan
lockfile terpisah sebagai gantinya.
Kemampuan untuk mendapatkan kunci sesuai dengan izin menulis pada file (dan tentu saja
izin untuk membuat file, jika belum ada). Namun, proses dengan
hanya izin baca pada file yang dapat mencegah kunci diperoleh sama sekali; karena itu
lockfiles biasanya tidak dapat dibaca oleh dunia.
Ketika (grup) proses ingin mendapatkan kunci, itu harus membuka file (dengan
O_CREAT) dan kunci dengan fcntl(2) F_RWLCK, operasi F_SETLK or F_SETLKW. Jika ini
berhasil itu harus fstat deskriptor file yang dimilikinya, dan file dengan jalurnya. jika
perangkat dan inode cocok maka kunci telah diperoleh dan tetap diperoleh sampai itu
sekelompok proses mengubah nama file yang dirujuk, menghapus file, atau melepaskannya
kunci fcntl. Jika tidak, maka proses lain memperoleh kunci dan menghapus
berkas sementara itu; Anda sekarang harus menutup filedescriptor Anda dan mulai lagi. dengan-kunci-
ex mengikuti spesifikasi ini.
Perhatikan bahwa kawanan(2) adalah jenis kunci yang berbeda untuk fcntl(2). dengan-lock-ex kegunaan fcntl.
Gunakan with-lock-ex online menggunakan layanan onworks.net