İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

with-lock-ex - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü üzerinden OnWorks'ün ücretsiz barındırma sağlayıcısında-lock-ex ile çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen-lock-ex ile komuttur.

Program:

ADI


with-lock-ex - dosya dolabı

SİNOPSİS


ile-lock-ex -w|-q|-f kilit dosyası komuta args ...

TANIM


with-lock-ex, yazmak için kilit dosyasını açar ve kilitler ve ardından kalanını besler.
argümanları exec(2); bu işlem sona erdiğinde fd kapatılacak ve dosya
çekirdek tarafından otomatik olarak açılır.

Dosya yoksa, izinlerle oluşturulur. rw için her kullanıcı sınıfı için
umask'ın sahip olduğu w.

SEÇENEKLER


-w Kilidin kullanılabilir olmasını bekleyin.

-f Kilit alınamıyorsa başarısız (stderr'e bir mesaj yazdırma ve 255'ten çıkma)
hemen çünkü başka bir süreç var.

-q Sessizce hiçbir şey yapmayın (yani, belirtilen işlemi yürütmek yerine 0'dan çıkın).
kilit, başka bir işlemde olduğu için hemen alınamaz.

BAYAT KİLİTLER


Kullanılan kilitleme protokolü, eski kilitlerden etkilenmez. Kilit olamazsa
edinildi, bir veya daha fazla çalışan işlem şu anda kilidi tutmalıdır; kilit gerekirse
serbest bırakılmalı, bu süreçler öldürülmelidir.

Hiçbir koşulda 'eski kilit temizleyici' cron işleri veya benzerleri başlatılmamalıdır.
Çok sayıda kilidin bulunabileceği sistemlerde, eski kilit dosyaları cron'dan kaldırılabilir ancak
yalnızca her bir kilit, kilit dosyası kaldırılmadan önce alınırsa, örneğin

ile-lock-ex -q kilit dosyası rm kilit dosyası

KİLİTLER


Kilitlenme algılama yok. Birkaç kilidi olan bir sistemde, bir kilit hiyerarşisi olmalıdır.
öyle kurulmalı ki, her bir kilit çifti için A ve B hangi bir işlemin kilitlenebileceği
aynı anda, ya A>B or B>A burada > ilişkisi geçişli ve döngüsel değildir.

Ardından, herhangi iki kilit için X ve Y ile X>Y almak yasaktır X tutarken Y.
Bunun yerine, edin X ilk veya yayın Y (yeniden) edinmeden önce X ve Y bu sırayla.

(Kilitlenmelerden kaçınmanın daha karmaşık yolları vardır, ancak bir kilit hiyerarşisi oluşturmak kolaydır.
anlamak ve uygulamak. İhtiyaçlarınızı karşılamıyorsa literatüre başvurunuz.)

KİLİTLEME PROTOKOL


tarafından kullanılan kilitleme protokolü ile-lock-ex aşağıdaki gibidir:

Kilit, fcntl'ye özel bir kilidi tutan bir işlem (veya işlemler grubu) tarafından tutulur.
belirtilen ada sahip düz dosyanın ilk baytında. Kilit sahibi
(ve yalnızca kilidin sahibi) dosyayı silebilir veya adın bulunduğu düğümü değiştirebilir.
başvurur ve bunu yaptığı anda kilidi tutmayı bırakır.

Dosya yoksa, herhangi bir işlem dosyayı oluşturabilir. dosyaya gerek yok
herhangi bir gerçek veri içerir. Gerçekten de, dosyayı veri depolamak için kullanmak güçlü bir şekilde
tavsiye edilmez, çünkü bu, güvenilir güncelleme için çoğu stratejiyi önleyecektir. Kullanın
bunun yerine ayrı bir kilit dosyası.

Kilidi elde etme yeteneği, dosyaya yazma iznine karşılık gelir (ve tabii ki
zaten yoksa, dosyayı oluşturma izni). Bununla birlikte, süreçlerle
yalnızca dosya üzerindeki okuma izni, kilidin alınmasını engelleyebilir; Öyleyse
kilit dosyaları genellikle dünya çapında okunabilir olmamalıdır.

Bir (grup) süreç kilidi almak istediğinde, dosyayı açmalıdır.
O_CREATE) ve ile kilitleyin fcntl(2) F_RWLCK, operasyon F_SETLK or F_SETLKW. Eğer bu
başarılı olursa, sahip olduğu dosya tanıtıcısını ve dosyayı yoluna göre belirtmesi gerekir. Eğer
cihaz ve düğüm eşleşir, ardından kilit alınır ve o zamana kadar edinilmiş olarak kalır.
işlem grubu, adın atıfta bulunduğu dosyayı değiştirir, dosyayı siler veya serbest bırakır
fcntl kilidi. Eğer yapmazlarsa, başka bir işlem kilidi aldı ve sildi.
bu arada dosya; şimdi dosya tanıtıcınızı kapatmalı ve yeniden başlamalısınız. kilitli-
ex bu spesifikasyonu takip eder.

Bunu not et sürü(2) için farklı bir kilit türüdür fcntl(2). ile-lock-ex kullanım fcntl.

onworks.net hizmetlerini kullanarak with-lock-ex çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad