Scroll to navigation

wait4(2) System Calls Manual wait4(2)

الاسم

wait3, wait4 - انتظار تغيير حالة عملية، نمط BSD

المكتبة

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

موجز

#include <sys/wait.h>
pid_t wait3(int *_Nullable wstatus, int options,
            struct rusage *_Nullable rusage);
pid_t wait4(pid_t pid, int *_Nullable wstatus, int options,
            struct rusage *_Nullable rusage);

متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

wait3():


Since glibc 2.26:
_DEFAULT_SOURCE
|| (_XOPEN_SOURCE >= 500 &&
! (_POSIX_C_SOURCE >= 200112L
|| _XOPEN_SOURCE >= 600))
From glibc 2.19 to glibc 2.25:
_DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
glibc 2.19 and earlier:
_BSD_SOURCE || _XOPEN_SOURCE >= 500

wait4():


منذ glibc 2.19:
_DEFAULT_SOURCE
glibc 2.19 وما قبله:
_BSD_SOURCE

الوصف

هذه الدوال غير قياسية؛ في البرامج الجديدة، يُفضل استخدام waitpid(2) أو waitid(2).

استدعاءات النظام wait3() و wait4() مشابهة لـ waitpid(2)، ولكنها تُرجع بالإضافة إلى ذلك معلومات استخدام الموارد عن الطفل في البنية المشار إليها بواسطة rusage.

بخلاف استخدام وسيط rusage، فإن استدعاء wait3() التالي:


wait3(wstatus, options, rusage);

يعادل:


waitpid(-1, wstatus, options);

وبالمثل، فإن استدعاء wait4() التالي:


wait4(pid, wstatus, options, rusage);

يعادل:


waitpid(pid, wstatus, options);

بمعنى آخر، wait3() ينتظر أي طفل، بينما يمكن استخدام wait4() لاختيار طفل معين، أو أطفال، للانتظار عليهم. انظر wait(2) لمزيد من التفاصيل.

إذا لم يكن rusage NULL، فسيتم ملء struct rusage الذي يشير إليه بمعلومات محاسبية عن الطفل. انظر getrusage(2) للتفاصيل.

قيمة الإرجاع

كما هو الحال مع waitpid(2).

الأخطاء

كما هو الحال مع waitpid(2).

المعايير

لا شيء.

التاريخ

4.3BSD.

تضمن SUSv1 مواصفات wait3()؛ تضمن SUSv2 wait3()، لكنه وضع علامة LEGACY عليها؛ أزالها SUSv3.

تضمين <sys/time.h> غير مطلوب هذه الأيام، لكنه يزيد من قابلية النقل. (في الواقع، يعرف <sys/resource.h> بنية rusage بحقول من النوع struct timeval المعرفة في <sys/time.h>.)

الاختلافات بين مكتبة C والنواة

في لينكس، wait3() هي دالة مكتبة منفذة فوق استدعاء النظام wait4().

انظر أيضًا

fork(2), getrusage(2), sigaction(2), signal(2), wait(2), signal(7)

ترجمة

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

8 فبراير 2026 صفحات دليل لينكس 6.18