| FLOCK(1) | أوامر المستخدم | FLOCK(1) |
الاسم
flock - إدارة الأقفال من سكربتات الصدفة
موجز
flock [خيارات] ملف|دليل أمر [وسائط]
flock [خيارات] ملف|دليل -c أمر
flock [خيارات] رقم
الوصف
تدير هذه الأداة أقفال flock(2) من داخل سكربتات الصدفة أو من سطر الأوامر.
الصيغتان الأولى والثانية أعلاه تغلّف القفل حول تنفيذ أمر ما، بطريقة مشابهة لـ su(1) أو newgrp(1). هما تقفلان ملفاً أو دليلاً محدداً، والذي يُنشأ (بافتراض الأذونات المناسبة) إذا لم يكن موجوداً بالفعل. مبدئياً، إذا تعذر الحصول على القفل فوراً، ينتظر flock حتى يصبح القفل متاحاً.
تستخدم الصيغة الثالثة ملفاً مفتوحاً بواسطة رقم واصف الملف الخاص به. انظر الأمثلة أدناه لمعرفة كيفية استخدام ذلك.
الخيارات
-c، --command أمر
-E، --conflict-exit-code رقم
-F، --no-fork
-e، -x، --exclusive
-n، --nb، --nonblocking
-o، --close
-s، --shared
-u، --unlock
-w، --wait، --timeout ثوانٍ
--fcntl
هذا متاح فقط في إصدارات النواة >= 3.15.
--start إزاحة
--length رقم
--verbose
-h، --help
-V، --version
حالة الخروج
يستخدم الأمر قيم حالة الخروج من <sysexits.h> لكل شيء، باستثناء عند استخدام أي من الخيارين -n أو -w اللذين يبلغان عن فشل في الحصول على القفل بحالة خروج يعطيها الخيار -E، أو 1 مبدئياً. يجب أن تكون حالة الخروج المعطاة بواسطة -E في النطاق من 0 إلى 255.
عند استخدام متغير أمر، وإذا نجح تنفيذ الابن، تكون حالة الخروج هي حالة أمر الابن.
ملاحظات
لا يكشف flock عن حالة الاستعصاء (deadlock). انظر flock(2) للتفاصيل.
تمتلك بعض أنظمة الملفات (مثلاً NFS و CIFS) تطبيقاً محدوداً لـ flock(2) وقد يفشل flock دائماً. للتفاصيل انظر flock(2) و nfs(5) و mount.cifs(8). اعتماداً على خيارات الوصل، قد يفشل flock دائماً هناك.
أمثلة
لاحظ أن "shell> " في الأمثلة هي محث سطر الأوامر.
shell1> flock /tmp -c cat; shell2> flock -w .007 /tmp -c echo; /bin/echo $?
shell1> flock -s /tmp -c cat; shell2> flock -s -w .007 /tmp -c echo; /bin/echo $?
shell> flock -x local-lock-file echo 'a b c'
(; flock -n 9 || exit 1; # ... commands executed under lock ...; ) 9>/var/lock/mylockfile
[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -en "$0" "$0" "$@" || :
shell> exec 4<>/var/lock/mylockfile; shell> flock -n 4
المؤلفين
H. Peter Anvin <hpa@zytor.com>
حقوق النسخ
حقوق النشر © 2003-2006 H. Peter Anvin. هذا برمجيات حرة؛ انظر المصدر لشروط النسخ. لا يوجد أي ضمان؛ ولا حتى ضمان القابلية للتسويق أو الملاءمة لغرض معين.
انظر أيضاً
التبليغ عن الأخطاء
لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.
التوفر
الأمر flock جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.
| 2026-05-18 | util-linux 2.42.1 |