คำถามติดแท็ก lock

3
รับล็อกการอ่าน / เขียนแบบเอกสิทธิ์เฉพาะบุคคลในไฟล์สำหรับการปรับปรุงอะตอม
ฉันต้องการมีไฟล์ที่ใช้เป็นตัวนับ ผู้ใช้ A จะเขียนและเพิ่มจำนวนนี้ในขณะที่ผู้ใช้ B ขอให้อ่านไฟล์ เป็นไปได้หรือไม่ที่ผู้ใช้ A สามารถล็อคไฟล์นี้เพื่อให้ไม่มีใครสามารถอ่านหรือเขียนไฟล์ได้จนกว่าการเขียนของผู้ใช้จะเสร็จสิ้น? ฉันดูแล้วflockแต่ดูเหมือนจะไม่สามารถใช้งานได้ตามที่คาดหวัง flock -x -w 5 /dev/shm/counter.txt echo "4" > /dev/shm/counter.txt && sleep 5 หากมีวิธีที่เหมาะสมกว่าในการรับไฟล์ที่เพิ่มขึ้นคล้ายกับอะตอมนี้ซึ่งจะเป็นการฟังที่ดีเช่นกัน! เป้าหมายของฉันคือ: LOCK counter.txt; write to counter.txt; ในขณะที่ในเวลาเดียวกัน Read counter.txt; realize it's locked so wait until that lock is finished.

2
ฉันจะบอกได้อย่างไรเมื่อกระบวนการเขียนไฟล์เสร็จแล้ว?
ฉันมีกระบวนการที่เกิดจากเปลือกหอย มีการทำงานเป็นกระบวนการพื้นหลังและการส่งออกไปยังฐานข้อมูลไฟล์ CSV /tmpใน ฉันจะบอกได้อย่างไรว่ากระบวนการพื้นหลังเสร็จสมบูรณ์ (เสร็จสิ้น / เลิก) หรือเมื่อการล็อคไฟล์ CSV ถูกปิด ฉันวางแผนที่จะ FTP ไฟล์ไปยังโฮสต์อื่นเมื่อมีการเขียน แต่ฉันต้องการไฟล์ที่สมบูรณ์ก่อนที่จะเริ่มการถ่ายโอนไฟล์
9 files  process  lock 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.