.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1991, The Regents of the University of California. .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH popen 3 "21 سبتمبر 2025" "صفحات دليل لينكس 6.18" .SH الاسم popen, pclose \- دفق أنبوبي إلى أو من عملية .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBFILE *popen(const char *\fP\fIأمر\fP\fB, const char *\fP\fIنوع\fP\fB);\fP \fBint pclose(FILE *\fP\fIدفق\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBpopen\fP(), \fBpclose\fP(): .nf _POSIX_C_SOURCE >= 2 || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE .fi .SH الوصف تفتح الدالة \fBpopen\fP() عملية بإنشاء أنبوب، واستنساخ، واستدعاء الصدفة. وبما أن الأنبوب أحادي الاتجاه بحكم التعريف، فقد يُحدد المعامل \fIنوع\fP القراءة أو الكتابة فقط، وليس كليهما؛ ويكون الدفق الناتج للقراءة فقط أو للكتابة فقط وفقًا لذلك. .P المعامل \fIأمر\fP هو مؤشر لسلسلة محارف منتهية بقيمة خالية تحتوي على سطر أوامر الصدفة. يُمرر هذا الأمر إلى \fI/bin/sh\fP باستخدام العلم \fB\-c\fP؛ ويُجرى التفسير، إن وُجد، بواسطة الصدفة. .P المعامل \fIنوع\fP هو مؤشر لسلسلة محارف منتهية بقيمة خالية يجب أن تحتوي إما على الحرف \[aq]r\[aq] للقراءة أو الحرف \[aq]w\[aq] للكتابة. منذ glibc 2.9، يمكن لهذا المعامل أن يتضمن أيضًا الحرف \[aq]e\[aq]، الذي يتسبب في تعيين علم الإغلاق عند التنفيذ (\fBFD_CLOEXEC\fP) على واصف الملف الأساسي؛ راجع وصف علم \fBO_CLOEXEC\fP في \fBopen\fP(2) لأسباب قد يكون فيها ذلك مفيدًا. .P قيمة الإرجاع من \fBpopen\fP() هي دفق إدخال/إخراج قياسي عادي من جميع النواحي باستثناء أنه يجب إغلاقه باستخدام \fBpclose\fP() بدلاً من \fBfclose\fP(3). الكتابة إلى مثل هذا الدفق تكتب إلى الإدخال القياسي للأمر؛ والمخرج القياسي للأمر هو نفسه مخرج العملية التي استدعت \fBpopen\fP()، ما لم يُغير ذلك بواسطة الأمر نفسه. بالمقابل، القراءة من الدفق تقرأ المخرج القياسي للأمر، والإدخال القياسي للأمر هو نفسه إدخال العملية التي استدعت \fBpopen\fP(). .P لاحظ أن دفقات الإخراج \fBpopen\fP() مخزنة مؤقتًا في كتل مبدئيًا. .P تنتظر الدالة \fBpclose\fP() إنهاء العملية المرتبطة وتُعيد حالة خروج الأمر كما تُعيدها \fBwait4\fP(2). .SH "قيمة الإرجاع" \fBpopen\fP(): عند النجاح، تُعيد مؤشرًا لدفق مفتوح يمكن استخدامه للقراءة أو الكتابة إلى الأنبوب؛ إذا فشلت استدعاءات \fBfork\fP(2) أو \fBpipe\fP(2)، أو إذا لم تستطع الدالة تخصيص ذاكرة، تُعاد NULL. .P .\" These conditions actually give undefined results, so I commented .\" them out. .\" .I stream .\" is not associated with a "popen()ed" command, if .\".I stream .\" already "pclose()d", or if \fBpclose\fP(): عند النجاح، تُعيد حالة خروج الأمر؛ إذا أعادت \fBwait4\fP(2) خطأ، أو اكتُشف خطأ آخر، تُعاد \-1. .P عند الفشل، تضبط كلتا الدالتين \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء لا تضبط الدالة \fBpopen\fP() \fIerrno\fP إذا فشل تخصيص الذاكرة. إذا فشلت \fBfork\fP(2) أو \fBpipe\fP(2) الأساسية، يُضبط \fIerrno\fP للإشارة إلى الخطأ. إذا كان المعامل \fIنوع\fP غير صالح، واكتُشفت هذه الحالة، يُضبط \fIerrno\fP إلى \fBEINVAL\fP. .P إذا لم تستطع \fBpclose\fP() الحصول على حالة الطفل، يُضبط \fIerrno\fP إلى \fBECHILD\fP. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBpopen\fP(), \fBpclose\fP() T} سلامة الخيوط MT\-Safe .TE .SH الإصدارات قيمة \[aq]e\[aq] لـ \fIنوع\fP هي إضافة لينكس. .SH المعايير POSIX.1\-2008. .SH التاريخ POSIX.1\-2001. .SH تحذيرات اقرأ التحذيرات في \fBsystem\fP(3) بعناية. .SH العلل بما أن الإدخال القياسي لأمر مفتوح للقراءة يشارك إزاحة البحث الخاصة به مع العملية التي استدعت \fBpopen\fP()، إذا أجرت العملية الأصلية قراءة مخزنة، فقد لا يكون موضع إدخال الأمر كما هو متوقع. وبالمثل، قد يختلط الإخراج من أمر مفتوح للكتابة مع إخراج العملية الأصلية. يمكن تجنب الأخير باستدعاء \fBfflush\fP(3) قبل \fBpopen\fP(). .P .\" .SH HISTORY .\" A .\" .BR popen () .\" and a .\" .BR pclose () .\" function appeared in Version 7 AT&T UNIX. فشل تنفيذ الصدفة لا يمكن تمييزه عن فشل الصدفة في تنفيذ الأمر، أو خروج فوري للأمر. الدليل الوحيد هو حالة خروج 127. .SH "انظر أيضًا" \fBsh\fP(1)، \fBfork\fP(2)، \fBpipe\fP(2)، \fBwait4\fP(2)، \fBfclose\fP(3)، \fBfflush\fP(3)، \fBfopen\fP(3)، \fBstdio\fP(3)، \fBsystem\fP(3) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .