nice(2)

الاسم
nice - تغيير أولوية العملية

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

موجز
#include <unistd.h>

int nice(int inc);

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

nice():
    _XOPEN_SOURCE
        || /* منذ glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

الوصف
تضيف nice() قيمة inc إلى قيمة nice للخيط المستدعي. (قيمة nice الأعلى تعني أولوية أقل.)

نطاق قيمة nice هو +19 (أولوية منخفضة) إلى -20 (أولوية عالية). يتم تقييد محاولات تعيين قيمة nice خارج النطاق إلى النطاق.

تقليديًا، كانت العملية المتميزة فقط هي التي يمكنها خفض قيمة nice (أي ضبط أولوية أعلى). ومع ذلك، فمنذ لينكس 2.6.12، يمكن لعملية غير متميزة تقليل قيمة nice لعملية مستهدفة لها حد مرن مناسب لـ RLIMIT_NICE؛ انظر getrlimit(2) لمزيد من التفاصيل.

قيمة الإرجاع
عند النجاح، يتم إرجاع قيمة nice الجديدة (لكن انظر الإصدارات أدناه). عند الخطأ، يتم إرجاع -1، ويتم تعيين errno للإشارة إلى الخطأ.

يمكن لاستدعاء ناجح أن يعيد -1 بشكل شرعي. لاكتشاف خطأ، اضبط errno على 0 قبل الاستدعاء، وتحقق مما إذا كان غير صفري بعد أن يعيد nice() -1.

الأخطاء

EPERM
    حاولت العملية المستدعية زيادة أولويتها بتوفير inc سالب لكن ليس لديها صلاحيات كافية. في لينكس، مطلوب القدرة CAP_SYS_NICE. (لكن انظر مناقشة حد المورد RLIMIT_NICE في setrlimit(2).)

الإصدارات

  الاختلافات بين مكتبة C والنواة
يحدد POSIX.1 أن nice() يجب أن تعيد قيمة nice الجديدة. مع ذلك، استدعاء نظام لينكس الخام يعيد 0 عند النجاح. بالمثل، دالة الغلاف nice() المقدمة في glibc 2.2.3 والإصدارات الأقدم تعيد 0 عند النجاح.

منذ glibc 2.2.4، توفر دالة الغلاف nice() المقدمة من glibc الامتثال لـ POSIX.1 باستدعاء getpriority(2) للحصول على قيمة nice الجديدة، والتي يتم إرجاعها بعد ذلك إلى المستدعي.

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

التاريخ
POSIX.1-2001، SVr4، 4.3BSD.

ملاحظات
لمزيد من التفاصيل حول قيمة اللطافة (nice value)، راجع sched(7).

ملاحظة: إضافة ميزة "التجميع الآلي" في لينكس 2.6.38 تعني أن قيمة الأولوية (nice) لم يعد لها تأثيرها التقليدي في كثير من الظروف. للتفاصيل، انظر sched(7).

انظر أيضًا
nice(1), renice(1), fork(2), getpriority(2), getrlimit(2), setpriority(2), capabilities(7), sched(7)

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

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

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