fifo(7)

الاسم
fifo - ملف خاص أولاً-أولاً خارج، أنبوب مسمى

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

يحتفظ النواة بكائن أنبوب واحد بالضبط لكل ملف خاص FIFO يُفتح بواسطة عملية واحدة على الأقل. يجب فتح FIFO من كلا الطرفين (القراءة والكتابة) قبل أن تُمرر البيانات. عادةً، يُحجب فتح FIFO حتى يُفتح الطرف الآخر أيضًا.

يمكن لعملية فتح FIFO في وضع غير محجب. في هذه الحالة، ينجح الفتح للقراءة فقط حتى لو لم يفتح أحد جانب الكتابة بعد، ويفشل الفتح للكتابة فقط مع ENXIO (لا يوجد جهاز أو عنوان) ما لم يُفتح الطرف الآخر بالفعل.

تحت لينكس، ينجح فتح FIFO للقراءة والكتابة في كل من الوضع المحجب وغير المحجب. يترك POSIX هذا السلوك غير محدد. يمكن استخدام هذا لفتح FIFO للكتابة بينما لا توجد قراء متاحون. يجب على عملية تستخدم طرفي الاتصال للتواصل مع نفسها أن تكون حذرة جداً لتجنب الجمود.

ملاحظات
للحصول على تفاصيل دلالات الإدخال/الإخراج على FIFOs، انظر pipe(7).

عندما تحاول عملية الكتابة إلى FIFO غير مفتوح للقراءة على الجانب الآخر، تُرسل إشارة SIGPIPE إلى العملية.

يمكن إنشاء الملفات الخاصة FIFO بواسطة mkfifo(3)، وتُشار إليها بواسطة ls -l بنوع الملف 'p'.

انظر أيضًا
mkfifo(1), open(2), pipe(2), sigaction(2), signal(2), socketpair(2), mkfifo(3), pipe(7)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.