عربيالفرنسيةالإسبانية

Ad


OnWorks فافيكون

with-lock-ex - عبر الإنترنت في السحابة

قم بتشغيل مع-lock-ex في مزود الاستضافة المجانية OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر with-lock-ex الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


with-lock-ex - ملف الخزانة

موجز


مع قفل السابقين -w|-q|-f ملف القفل أمر وسائط

الوصف


with-lock-ex سيفتح ويغلق ملف القفل للكتابة ثم يغذي باقي ملفات
حججه ل EXEC(2) ؛ عندما تنتهي هذه العملية ، سيتم إغلاق الملف fd والملف
تم فتحه تلقائيًا بواسطة النواة.

إذا كان الملف غير موجود ، يتم إنشاؤه بأذونات rw لكل فئة مستخدم لـ
الذي يحتوي Umask w.

OPTIONS


-w انتظر حتى يتوفر القفل.

-f فشل (طباعة رسالة إلى stderr والخروج 255) إذا تعذر الحصول على القفل
على الفور لأن عملية أخرى بها.

-q لا تفعل شيئًا بصمت (على سبيل المثال ، اخرج من 0 بدلاً من تنفيذ العملية المحددة) إذا كان
لا يمكن الحصول على القفل على الفور لأن هناك عملية أخرى به.

قديمة أقفال


بروتوكول القفل المستخدم لا يعاني من أقفال قديمة. إذا كان القفل لا يمكن أن يكون
تم الحصول عليها ، يجب أن تحتوي عملية واحدة أو أكثر قيد التشغيل حاليًا على القفل ؛ إذا كان القفل بحاجة إلى ذلك
يجب أن يتم قتل تلك العمليات.

لا ينبغي تحت أي ظرف من الظروف إنشاء وظائف كرون "نظافة الأقفال التي لا معنى لها" ، أو ما شابه ذلك.
في الأنظمة التي قد يوجد بها عدد كبير من الأقفال ، قد تتم إزالة ملفات القفل القديمة من cron ولكن
فقط إذا تم الحصول على كل قفل قبل إزالة ملف القفل ، على سبيل المثال

مع قفل السابقين -q ملف القفل rm ملف القفل

الجمود


لا يوجد كشف عن طريق مسدود. في نظام متعدد الأقفال ، يجب أن يكون التسلسل الهرمي للقفل
يتم تأسيسها ، بحيث يكون لكل زوج من الأقفال A و B التي قد تغلق العملية
في نفس الوقت أيضًا A>B or B>A حيث تكون العلاقة متعدية وغير دورية.

ثم ، لأي قفلين X و Y مع X>Y يحظر الاستحواذ X أثناء الضغط Y.
بدلاً من ذلك ، احصل على X أولا ، أو الإفراج Y قبل (إعادة) الاستحواذ X و Y بهذا الترتيب.

(هناك طرق أكثر تعقيدًا لتجنب المآزق ، ولكن التسلسل الهرمي للقفل سهل
فهم وتنفيذ. إذا لم يلبي احتياجاتك ، فاستشر الأدبيات.)

LOCKING بروتوكول


بروتوكول القفل المستخدم من قبل مع قفل السابقين هو كما يلي:

يتم الاحتفاظ بالقفل من خلال عملية (أو مجموعة من العمليات) التي تحتوي على قفل حصري لـ fcntl
على البايت الأول من الملف العادي الذي يحمل الاسم المحدد. حامل القفل
(وحامل القفل فقط) يمكنه حذف الملف أو تغيير inode الاسم
يشير ، وبمجرد القيام بذلك ، يتوقف عن الإمساك بالقفل.

يمكن لأي عملية إنشاء الملف إذا لم يكن موجودًا. ليست هناك حاجة للملف
تحتوي على أي بيانات فعلية. في الواقع ، يعد استخدام الملف لتخزين البيانات أمرًا قويًا
غير مستحسن ، لأن هذا سيؤدي إلى إغلاق معظم استراتيجيات التحديث الموثوق. إستخدم
منفصلة lockfile بدلا من ذلك.

القدرة على الحصول على القفل يتوافق مع إذن الكتابة على الملف (وبالطبع
إذن لإنشاء الملف ، إذا لم يكن موجودًا بالفعل). ومع ذلك ، فإن العمليات باستخدام
إذن القراءة فقط على الملف يمكن أن يمنع الحصول على القفل على الإطلاق ؛ لذلك
لا يجب أن تكون ملفات lockfiles قابلة للقراءة في جميع أنحاء العالم.

عندما ترغب (مجموعة) العمليات في الحصول على القفل ، يجب أن تفتح الملف (بامتداد
O_CREAT) وقفله باستخدام fcntl2 F_RWLCK، عملية F_SETLK or F_SETLKW. لو هذا
ينجح ، يجب أن fstat واصف الملف لديه ، والملف من خلال مساره. إذا كان
تطابق الجهاز و inode ثم تم الحصول على القفل ويظل مكتسبًا حتى ذلك الحين
تقوم مجموعة العمليات بتغيير الملف الذي يشير إليه الاسم أو يحذف الملف أو يحرره
قفل fcntl. إذا لم يفعلوا ذلك ، فستحصل عملية أخرى على القفل وحذف ملف
ملف في هذه الأثناء. يجب عليك الآن إغلاق محرر ملفك والبدء من جديد. بقفل-
ex يتبع هذه المواصفات.

نلاحظ أن قطيع(2) هو نوع مختلف من القفل fcntl(2). مع قفل السابقين يستخدم fcntl.

استخدم مع-lock-ex عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

أوامر لينكس

Ad