| PIPESZ(1) | أوامر المستخدم | PIPESZ(1) |
الاسم
pipesz - اضبط أو افحص أحجام مخبئية الأنابيب و FIFO
موجز
pipesz [خيارات] [--set الحجم] [--] [الأمر [المعطى...]]
pipesz [خيارات] --get
الوصف
تحافظ الأنابيب و FIFOs على خبيئة داخلية تُستخدم لنقل البيانات بين طرف القراءة وطرف الكتابة. في بعض الحالات، قد لا يكون الحجم المبدئي لهذه الخبيئة الداخلية مناسباً. يوفر هذا البرنامج تسهيلات لضبط وفحص حجم هذه الخبيئات.
تضبط عملية --set أحجام خبيئة الأنابيب. في حال تحديدها، يجب أن تُحدد بـ حجم صريح. خلاف ذلك، يُفهم الخيار ضمناً ويُقرأ الحجم من الملف /proc/sys/fs/pipe-max-size. قد تضبط النواة الحجم كما هو موضح في fcntl(2). لرؤية أحجام الخبيئة الفعلية التي ضُبطت، استخدم خيار --verbose. وإذا لم يُحدد --file ولا --fd، فإن --set يعمل على المخرج القياسي.
تسمح عملية --set بـ أمر اختياري للتنفيذ بعد ضبط أحجام خبيئة الأنبوب. يُنفذ هذا الأمر مع الأنابيب المعدلة.
تخرج عملية --get البيانات بتنسيق جدولي. العمود الأول هو اسم الأنبوب كما مُرر إلى pipesz. تُسمى واصفات الملفات كـ "fd رقم". العمود الثاني هو الحجم، بالبايت، لخبيئة الأنبوب الداخلية. العمود الثالث هو عدد البايتات غير المقروءة حالياً في الأنبوب. تُفصل الأعمدة بواسطة علامات جدولة ('\t'، ASCII 09h). إذا حُدد --verbose، يُخرج ترويسة وصفية أيضاً. إذا لم يُحدد لا --file ولا --fd، فإن --get يعمل على المدخل القياسي.
ما لم يُحدد خيار --check، فإن pipesz لا يخرج إذا واجه خطأً أثناء معالجة ملف أو واصف ملف. يتيح ذلك استخدام pipesz بشكل عام دون خوف من تعطيل تنفيذ سلاسل الأوامر (pipelines) في حال تغيّر نوع ملفات معينة لاحقاً. ولتقليل التعطيل، يمنع خيار --quiet إصدار التحذيرات في هذه الحالات.
تفرض النواة حدوداً على مقدار مساحة خبيئة الأنبوب التي يمكن للعمليات غير المتميزة استخدامها، ومع ذلك انظر BUGS أدناه. ستتوقف النواة أيضاً عن تقليص خبيئة الأنبوب إذا كان ذلك سيؤدي إلى فقدان البيانات المخزنة مؤقتاً. انظر pipe(7) لمزيد من التفاصيل.
يدعم pipesz تحديد خيارات قصيرة متعددة على التوالي، بأسلوب getopt(3) المعتاد. يُفسر أول وسيط ليس خياراً على أنه أمر. إذا كان أمر قد يبدأ بـ '-'، استخدم '--' لفصله عن وسائط pipesz. في سكربتات الصدفة (shell)، من الممارسات الجيدة استخدام '--' عند توسيع المعاملات. لا يقرأ pipesz نفسه من المدخل القياسي ولا يكتب إلى المخرج القياسي إلا إذا حُدد --get أو --help أو --version.
الخيارات
-g، --get
-s، --set الحجم
-f، --file مسار
-n، --fd الرقم
-i، --stdin
-o، --stdout
-e، --stderr
-c، --check
-q، --quiet
-v، --verbose
-h، --help
-V، --version
أمثلة
pipesz dd if=ملف bs=1M | ...
pipesz -s1M -cf /run/my-service.fifo
echo hello | pipesz -g
find /proc/PID/fd -exec pipesz -gqf '{}' ';'
ملاحظات
يدعم لينكس ضبط حجم مخازن الأنابيب المؤقتة (pipe buffers) منذ النواة 2.6.35. قدّم هذا الإصدار أيضًا /proc/sys/fs/pipe-max-size.
يستخدم هذا البرنامج fcntl(2) F_GETPIPE_SZ/F_SETPIPE_SZ لجلب وضبط أحجام مخازن الأنابيب المؤقتة.
يستخدم هذا البرنامج ioctl(2) FIONREAD للإبلاغ عن كمية البيانات غير المقروءة في الأنابيب. إذا فشل هذا لسبب ما، يُبلغ عن كمية البيانات غير المقروءة بأنها 0.
العلل
قبل لينكس 4.9، أثرت بعض العيوب البرمجية في كيفية فرض حدود موارد معينة عند ضبط أحجام مخازن الأنابيب المؤقتة. راجع pipe(7) لمزيد من التفاصيل.
المؤلفين
Nathan Sharp <nwsharp@live.com>
انظر أيضاً
التبليغ عن الأخطاء
لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.
التوفر
الأمر pipesz جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.
| 2026-05-18 | util-linux 2.42.1 |