นี่คือคำสั่ง lockmail.courier ที่สามารถทำงานในผู้ให้บริการโฮสติ้งฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
lockmail - สร้างไฟล์ล็อคเมล
เรื่องย่อ
ล็อคเมล [-r] [-t การหยุดพักชั่วคราว-ล็อคไฟล์-โครงการ} [การโต้แย้ง...]
DESCRIPTION
ล็อคเมล เป็นยูทิลิตี้ตัวช่วยสำหรับการทำงานกับไฟล์เมลบ็อกซ์ ไฟล์เมลบ็อกซ์จะต้องถูกล็อค
เพื่อป้องกันไม่ให้แอปพลิเคชันอื่นแก้ไขกล่องจดหมายพร้อมกัน แตกต่าง
ระบบใช้หลักการล็อกที่แตกต่างกัน ล็อคเมล ใช้การล็อคทั่วไปสองแบบ
กลไกในการใช้งานซึ่งควรทำงานได้อย่างน่าเชื่อถือกับระบบส่วนใหญ่
ล็อคไฟล์ เป็นชื่อพาธไปยังไฟล์เมลบ็อกซ์ที่มีอยู่ โดยค่าเริ่มต้น, ล็อคเมล พยายามที่จะล็อค
กล่องจดหมายทุก ๆ ห้าวินาที (หากกล่องจดหมายถูกล็อคแล้ว) และจะยกเลิกหลังจากนั้น
สามนาที หลังจากล็อคเมลบ็อกซ์เรียบร้อยแล้ว ล็อคเมล ทำงาน โครงการ เป็นเด็ก
กระบวนการด้วยตัวเลือกใด ๆ อาร์กิวเมนต์NS. เมื่อไหร่ โครงการ สิ้นสุด ล็อคเมล ลบไฟล์
ล็อคกล่องจดหมายและสิ้นสุดตัวเอง
OPTIONS
-r
หากการล็อกปกติล้มเหลว ให้ลองใช้การล็อกแบบอ่านอย่างเดียว ใช้ตัวเลือกนี้เพื่อล็อคไฟล์เมลบ็อกซ์
ในไดเร็กทอรีแบบอ่านอย่างเดียว
-t การหยุดพักชั่วคราว
หากพยายามล็อกไม่สำเร็จ ให้ลองอีกครั้งเป็นเวลาไม่เกิน การหยุดพักชั่วคราว วินาที หมดเวลาจริงคือ
ปัดเศษขึ้นเป็นช่วงห้าวินาทีถัดไป (พยายามล็อคทุก ๆ ห้า
วินาที)
DESCRIPTION
ส่วนนี้อธิบายสั้น ๆ เกี่ยวกับกลไกการล็อคที่ใช้โดย ล็อคเมล. ล็อคเมล ใช้
หลักการล็อกสามแบบที่แตกต่างกันเพื่อเพิ่มความเข้ากันได้กับเมลอื่นๆ
ซอฟต์แวร์: ล็อคโฟลเดอร์ C-Client, dot-lock และล็อคไฟล์
ลูกค้า C โฟลเดอร์ ล็อค
ซอฟต์แวร์เมลที่ใช้ไลบรารี C-Client สร้างไฟล์ล็อคชื่อ /tmp/.dddddd.iiiiii.
ที่นี่ dddddd และ iiiiii คือหมายเลขเครื่องและหมายเลขไอโหนดของไฟล์เมลบ็อกซ์
( st_dev และ st_ino เขตข้อมูลในไอโหนด) เป็นเลขฐานสิบหก หาก ID กระบวนการบันทึกไว้ใน
ไฟล์ล็อคโฟลเดอร์ C-Client ไม่ถูกต้อง ล็อคเมล สรุปว่าตัวล็อคค้าง
ไฟล์และจะลบออก
หมายเหตุ
มีสภาวะการแข่งขันที่กระบวนการ C-Client ถูกฆ่าหลังจากสร้างการล็อก
ไฟล์ แต่ก่อนที่จะบันทึก ID กระบวนการในไฟล์ล็อค หน้าต่างการแข่งขันดีมาก
เล็ก แต่ก็มีอยู่ ไลบรารี C-Client ดูเหมือนจะไม่เคยล้างการล็อก
ไฟล์
ล็อคเมล พยายามแก้ไขสภาวะการแข่งขันนี้โดยการลบไฟล์ล็อคที่มีความยาวเป็นศูนย์
ที่มีอายุอย่างน้อยห้านาที
จุดล็อค
ล็อคเมล ยังสร้างและให้เกียรติไฟล์ dot-lock ไฟล์ Dot-lock ถูกสร้างขึ้นครั้งแรกเป็น
ไฟล์ชั่วคราวแล้วเชื่อมโยงกับ ล็อคไฟล์.ล็อค. การดำเนินการลิงก์ล้มเหลวหาก dot-lock
มีไฟล์อยู่แล้ว ล็อคเมล ใช้วิธีการล็อกจุดที่ได้รับการปรับปรุง โดยที่กระบวนการของมัน
ID และชื่อของเซิร์ฟเวอร์โดยที่ ล็อคเมล กำลังทำงานยังถูกบันทึกไว้ใน dot-lock
ไฟล์. หากการดำเนินการล้มเหลวเนื่องจากไฟล์ dot-lock ที่มีอยู่ซึ่งสร้างโดย another
ล็อคเมล กระบวนการบนเซิร์ฟเวอร์เดียวกัน และ ID กระบวนการไม่มีอยู่แล้ว ค้างนี้
ไฟล์ dot-lock จะถูกลบออกทันที ในสถานการณ์อื่น ๆ ไฟล์ dot-lock ที่เก่ากว่า
ห้านาทีถือว่าค้าง และลบออก
หมายเหตุ
ความล้มเหลวในการสร้างไฟล์ dot-lock จะถูกละเว้นอย่างเงียบ ๆ หากสาเหตุของความล้มเหลว
เป็นเพราะ ล็อคเมล ไม่มีสิทธิ์เขียนในไฟล์ dot-lock's
ไดเร็กทอรี ไดเร็กทอรีสปูลเมลขาเข้า (โดยปกติ / var / mail) โดยทั่วไปจะไม่
มีสิทธิ์เขียนทั่วโลก ดังนั้นพยายามสร้างไฟล์ dot-lock ในสปูล
ไดเรกทอรีจะล้มเหลวและ ล็อคเมล จะเนื้อหาโดยใช้การล็อกไฟล์เท่านั้น
เนื้อไม่มีมัน ล็อค
กลไกการล็อคขั้นสุดท้าย ล็อคเมล การใช้งานเป็นสิ่งอำนวยความสะดวกในการล็อกไฟล์ของระบบปฏิบัติการ
If ล็อคเมล ล้มเหลวในการรับทั้งสามล็อค ล็อคเมล จะนอนสักห้าวินาทีแล้วลอง
อีกครั้ง. ข้อยกเว้นเพียงอย่างเดียวคือความล้มเหลวในการสร้างดอทล็อคเนื่องจากไม่มีสิทธิ์เขียนถึง
ไดเร็กทอรีของไฟล์ dot-lock ซึ่งจะถูกละเว้น ถ้า ล็อคเมล ยังคงไม่ได้รับทั้งหมด
ล็อคที่จำเป็นในระยะเวลาที่กำหนดโดย -t ตัวเลือก (หรือค่าเริ่มต้น)
ล็อคเมล จะสิ้นสุดด้วยรหัสออก EX_TEMPFAIL
ล็อคเมล ทำงาน โครงการ หลังจากล็อกไฟล์ครั้งสุดท้ายแล้ว ให้รอจนกระทั่ง โครงการ สิ้นสุด
และปลดล็อคทั้งหมด โครงการ ต้องสิ้นสุดก่อนการล็อคใด ๆ ที่ได้รับจาก
ล็อคเมล หมดอายุและถือว่าเก่า ล็อคเมล ก็จะจบลงด้วยเช่นเดียวกัน
รหัสออก as โครงการ.
EXIT สถานภาพ
ล็อคเมล จบลงด้วยสถานะการออกเช่นเดียวกับ โครงการ ล็อคเมล ลงท้ายด้วย
สถานะออก EX_TEMPFAIL หากไม่สามารถล็อกได้ หรือถ้า โครงการ ถูกฆ่าโดย
ส่งสัญญาณ
ใช้ lockmail.courier ออนไลน์โดยใช้บริการ onworks.net