.\" -*- coding: UTF-8 -*- .\" Copyright 2020, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH pidfd_getfd 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم pidfd_getfd \- الحصول على نسخة مكررة من واصف ملف عملية أخرى .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP /* تعريف ثوابت \fBSYS_*\fP */ \fB#include \fP .P \fBint syscall(SYS_pidfd_getfd, int \fP\fIpidfd\fP\fB, int \fP\fItargetfd\fP\fB,\fP \fB unsigned int \fP\fIflags\fP\fB);\fP .fi .P \fIملاحظة\fP: لا توفر glibc غلافًا لـ \fBpidfd_getfd\fP()، مما يستلزم استخدام \fBsyscall\fP(2). .SH الوصف تخصص استدعاء النظام \fBpidfd_getfd\fP() واصف ملف جديد في العملية المستدعية. واصف الملف الجديد هذا هو نسخة مكررة من واصف ملف موجود، \fItargetfd\fP، في العملية المشار إليها بواسطة واصف ملف PID \fIpidfd\fP. .P يشير واصف الملف المكرر إلى نفس وصف الملف المفتوح (انظر \fBopen\fP(2)) مثل واصف الملف الأصلي في العملية المشار إليها بواسطة \fIpidfd\fP. وبالتالي، يتشارك واصفا الملف في أعلام حالة الملف وإزاحة الملف. علاوة على ذلك، يمكن تنفيذ العمليات على كائن الملف الأساسي (على سبيل المثال، تعيين عنوان لكائن مقبس باستخدام \fBbind\fP(2)) بنفس القدر عبر واصف الملف المكرر. .P يتم تعيين علم الإغلاق عند التنفيذ (\fBFD_CLOEXEC\fP؛ انظر \fBfcntl\fP(2)) على واصف الملف الذي يعيده \fBpidfd_getfd\fP(). .P وسيطة \fIflags\fP محجوزة للاستخدام المستقبلي. حاليًا، يجب تحديدها كـ 0. .P يخضع الإذن بنسخ واصف ملف عملية أخرى لفحص وضع وصول ptrace \fBPTRACE_MODE_ATTACH_REALCREDS\fP (انظر \fBptrace\fP(2)). .SH "قيمة الإرجاع" عند النجاح، يعيد \fBpidfd_getfd\fP() واصف ملف (عدد صحيح غير سالب). عند الخطأ، يتم إرجاع \-1 ويتم تعيين \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEBADF\fP \fIpidfd\fP ليس واصف ملف PID صالحاً. .TP \fBEBADF\fP \fItargetfd\fP ليس واصف ملف مفتوحًا في العملية المشار إليها بواسطة \fIpidfd\fP. .TP \fBEINVAL\fP \fIflags\fP ليست 0. .TP \fBEMFILE\fP وُصل إلى الحد الأقصى لعدد واصفات الملفات المفتوحة لكل عملية (انظر وصف \fBRLIMIT_NOFILE\fP في \fBgetrlimit\fP(2)). .TP \fBENFILE\fP وُصل إلى الحد الأقصى لإجمالي عدد الملفات المفتوحة على مستوى النظام. .TP \fBEPERM\fP لم تمتلك العملية المستدعية أذونات \fBPTRACE_MODE_ATTACH_REALCREDS\fP (انظر \fBptrace\fP(2)) على العملية المشار إليها بواسطة \fIpidfd\fP. .TP \fBESRCH\fP العملية المشار إليها بواسطة \fIpidfd\fP غير موجودة (أي أنها أنهت عملها وتم الانتظار عليها). .SH المعايير لينكس. .SH التاريخ .\" commit 8649c322f75c96e7ced2fec201e123b2b073bf09 لينكس 5.6. .SH ملاحظات للحصول على وصف لواصفات ملفات PID، انظر \fBpidfd_open\fP(2). .P تأثير \fBpidfd_getfd\fP() مشابه لاستخدام رسائل \fBSCM_RIGHTS\fP الموصوفة في \fBunix\fP(7)، لكنه يختلف في الجوانب التالية: .IP \[bu] 3 من أجل تمرير واصف ملف باستخدام رسالة \fBSCM_RIGHTS\fP، يجب على العمليتين أولاً إنشاء اتصال مقبس نطاق UNIX. .IP \[bu] يتطلب استخدام \fBSCM_RIGHTS\fP تعاونًا من جانب العملية التي يتم نسخ واصف ملفها. على النقيض من ذلك، لا يلزم مثل هذا التعاون عند استخدام \fBpidfd_getfd\fP(). .IP \[bu] تقتصر القدرة على استخدام \fBpidfd_getfd\fP() على فحص وضع وصول ptrace \fBPTRACE_MODE_ATTACH_REALCREDS\fP. .SH "انظر أيضًا" \fBclone3\fP(2), \fBdup\fP(2), \fBkcmp\fP(2), \fBpidfd_open\fP(2) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .