PR_SET_PDEATHSIG(2const)

الاسم
PR_SET_PDEATHSIG - ضبط إشارة موت الوالد للعملية المستدعية

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <linux/prctl.h>  /* تعريف ثوابت PR_* */
#include <sys/prctl.h>

int prctl(PR_SET_PDEATHSIG, long sig);

الوصف
يضبط إشارة موت الوالد للعملية المستدعية إلى sig (إما قيمة إشارة في النطاق [1, NSIG-1]، أو 0 للمسح). هذه هي الإشارة التي ستتلقاها العملية المستدعية عندما يموت والدها.

تُرسل إشارة موت الوالد عند إنهاء خيط الوالد لاحقًا وكذلك عند إنهاء كل عملية معيد تجميع فرعي (انظر PR_SET_CHILD_SUBREAPER(2const)) التي يُعاد تبعية المستدعي إليها لاحقًا. إذا كان خيط الوالد وجميع معيدي التجميع الفرعيين الأسلاف قد أنهوا بالفعل بحلول وقت عملية PR_SET_PDEATHSIG، فلا تُرسل إشارة موت الوالد إلى المستدعي.

إشارة موت الوالد موجهة للعملية (انظر signal(7)) وإذا ثبت الطفل معالجًا باستخدام علم sigaction(2) SA_SIGINFO، فإن حقل si_pid من وسيطة siginfo_t للمعالج يحتوي على معرف العملية (PID) لعملية الوالد المنتهية.

يُمسح إعداد إشارة موت الوالد لطفل fork(2). ويُمسح أيضًا (منذ Linux 2.4.36 / 2.6.23) عند تنفيذ ملف ثنائي set-user-ID أو set-group-ID، أو ملف ثنائي له قدرات مرتبطة (انظر capabilities(7))؛ وإلا، تُحفظ هذه القيمة عبر execve(2). يُمسح إعداد إشارة موت الوالد أيضًا عند التغييرات في أي من بيانات اعتماد الخيط التالية: معرف المستخدم الفعّال، معرف المجموعة الفعّال، معرف مستخدم نظام الملفات، أو معرف مجموعة نظام الملفات.

قيمة الإرجاع
عند النجاح، يُعاد الرقم 0. وعند حدوث خطأ، يُعاد الرقم -1، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

EINVAL
    sig ليس رقم إشارة صالحًا.

المعايير
لينكس.

التاريخ
Linux 2.1.57.

تحذيرات
يُعتبر "الوالد" في هذه الحالة هو الخيط الذي أنشأ هذه العملية. بعبارة أخرى، ستُرسل الإشارة عندما يُنهي ذلك الخيط (عبر، على سبيل المثال، pthread_exit(3))، بدلاً من بعد إنهاء جميع الخيوط في عملية الوالد.

انظر أيضًا
prctl(2), PR_GET_PDEATHSIG(2const)

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

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

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