tcgetpgrp(3)

الاسم
tcgetpgrp، tcsetpgrp - الحصول على مجموعة عملية المقدمة للطرفية وتعيينها

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

موجز
#include <unistd.h>

pid_t tcgetpgrp(int fd);
int tcsetpgrp(int fd, pid_t pgrp);

الوصف
الدالة tcgetpgrp() تُرجع مُعرّف مجموعة العملية للمجموعة الأمامية على الطرفية المرتبطة بـ fd، والتي يجب أن تكون الطرفية المسيطرة للعملية المستدعية.

الدالة tcsetpgrp() تجعل مجموعة العملية ذات مُعرّف مجموعة العملية pgrp مجموعة المقدمة على الطرفية المرتبطة بـ fd، والتي يجب أن تكون الطرفية المسيطرة للعملية المستدعية، وأن تظل مرتبطة بجلستها. علاوة على ذلك، يجب أن تكون pgrp مجموعة عملية (غير فارغة) تنتمي إلى نفس جلسة العملية المستدعية.

إذا استُدعيت tcsetpgrp() بواسطة عضو من مجموعة عملية خلفية في جلستها، ولم تكن العملية المستدعية تحظر أو تتجاهل SIGTTOU، فتُرسل إشارة SIGTTOU إلى جميع أعضاء مجموعة العملية الخلفية هذه.

قيمة الإرجاع
عندما يشير fd إلى الطرفية المسيطرة للعملية المستدعية، تُرجع الدالة tcgetpgrp() مُعرّف مجموعة عملية المقدمة لتلك الطرفية إن وُجد، وقيمة أكبر من 1 ليست مُعرّف مجموعة عملية حاليًا بخلاف ذلك. عندما لا يشير fd إلى الطرفية المسيطرة للعملية المستدعية، تُرجع -1، ويُعيَّن errno للإشارة إلى الخطأ.

عند النجاح، تُرجع tcsetpgrp() 0. بخلاف ذلك، تُرجع -1، ويُعيَّن errno للإشارة إلى الخطأ.

الأخطاء

EBADF
    fd ليس واصف ملف صالح.

EINVAL
    pgrp له قيمة غير مدعومة.

ENOTTY
    لا تملك العملية المستدعية طرفية مسيطرة، أو تملك واحدة لكنها غير موصوفة بـ fd، أو، بالنسبة لـ tcsetpgrp()، لم تعد هذه الطرفية المسيطرة مرتبطة بجلسة العملية المستدعية.

EPERM
    pgrp له قيمة مدعومة، لكنه ليس مُعرّف مجموعة عملية لعملية في نفس جلسة العملية المستدعية.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
tcgetpgrp(), tcsetpgrp() | سلامة الخيوط | MT-Safe

الإصدارات
هذه الدوال مُنفَّذة عبر أوامر الإدخال/الإخراج TIOCGPGRP و TIOCSPGRP.

المعايير
POSIX.1-2008.

التاريخ
POSIX.1-2001.

ظهرت أوامر الإدخال/الإخراج في 4.2BSD. الدوال هي اختراعات POSIX.

انظر أيضًا
setpgid(2)، setsid(2)، credentials(7)

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

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

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