2012-06-11 15 views
11

Linux'ta bir bash komut dosyasında, dosya kilitlemeyi uygulamak için ortak bir kaynağa [tmpfs dosyasındaki bir dosyadır] karşı eşzamanlı erişimi korumak için, sürüde [komut çağırma] (sistem çağrısı sürü() değil) sürüsünü kullanıyorum.Sürü otomatik olarak proses çıkışında serbest bırakıldı mı?

Senaryomun anormal fesih işlemek için tuzak işleyici: trap "{ rm -rf $LOCK ; rm -rf $TMPFS_FILE; exit 255; }" SIGINT SIGTERM

$ KİLİDİ ​​benim kilit dosyasıdır ve $ TMPFS_FILE Paylaşılan kaynaktır .

Sorum şu açık bir şekilde bir dosya kilidini açmak zorunda mıyım? Ya da Linux tüm programın sona ermesi üzerine [hem gönüllü hem de zorla] senaryolar için benim için yapar mı? man 1 flock itibaren

+0

İlgili soru Unlock: http://stackoverflow.com/questions/3918385/flock- soru. –

+2

@CodeGnome Bunun, "flock" komutuyla ilgili olduğunu düşünüyorum, sistem çağrısı değil "flock"() – mkb

cevap

12

:

-u, Python altında sürünün() yaklaşık

  Drop a lock. This is usually not required, since a lock is 
      automatically dropped when the file is closed. However, it may 
      be required in special cases, for example if the enclosed com‐ 
      mand group may have forked a background process which should not 
      be holding the lock. 
İlgili konular