'\" t .\" Title: taskset .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-05-18 .\" Manual: أوامر المستخدم .\" Source: util-linux 2.42.1 .\" Language: English .\" .TH "TASKSET" "1" "2026-05-18" "util\-linux 2.42.1" "أوامر المستخدم" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "الاسم" taskset \- اضبط أو استرجع تقارب وحدة المعالجة المركزية لعملية ما .SH "موجز" .sp \fBtaskset\fP [خيارات] \fImask command\fP [\fIوسيط\fP.\|.\|.] .sp \fBtaskset\fP [خيارات] \fB\-p\fP [\fIقناع\fP] \fIمعرّف\-العملية\fP .SH "الوصف" .sp يُستخدم الأمر \fBtaskset\fP لضبط أو استرجاع تقارب وحدة المعالجة المركزية لعملية جارية بناءً على معرف العملية \fIمعرّف\-العملية\fP الخاص بها، أو لإطلاق \fIأمر\fP جديد بتقارب محدد. تقارب وحدة المعالجة المركزية هو خاصية في المجدول "تربط" عملية بمجموعة محددة من وحدات المعالجة المركزية في الحاسوب. سيلتزم مجدول لينكس بالتقارب المحدد ولن تعمل العملية على أي وحدات معالجة مركزية أخرى. لاحظ أن مجدول لينكس يدعم أيضاً التقارب الطبيعي: حيث يحاول المجدول إبقاء العمليات على وحدة المعالجة المركزية نفسها طالما كان ذلك عملياً لأسباب تتعلق بالأداء. لذلك، فإن فرض تقارب محدد يكون مفيداً فقط في تطبيقات معينة. لا يمكن ضبط تقارب بعض العمليات مثل خيوط النواة (kernel threads) المخصصة لكل وحدة معالجة. .sp يُمثَّل تقارب وحدة المعالجة المركزية على هيئة قناع بتات (bitmask)، حيث يقابل البت الأدنى رتبةً أول وحدة معالجة مركزية منطقية، والبت الأعلى رتبةً يقابل آخر وحدة معالجة منطقية. قد لا توجد كافة وحدات المعالجة في حاسوب معين، ولكن قد يحدد القناع وحدات معالجة أكثر مما هو موجود فعلياً. سيعكس القناع المسترجع فقط البتات التي تقابل وحدات المعالجة الموجودة في الحاسوب مادياً. إذا أُعطي قناع غير صالح (أي لا يقابل أي وحدة معالجة صالحة في الحاسوب الحالي)، فسيُرد خطأ. يمكن تحديد الأقنعة بنظام الست عشر (مع بادئة "0x" أو دونها)، أو كقائمة وحدات معالجة عبر الخيار \fB\-\-cpu\-list\fP. على سبيل المثال، .sp \fB0x00000001\fP .RS 4 هو المعالج #0، .RE .sp \fB0x00000003\fP .RS 4 هما المعالجان #0 و #1، .RE .sp \fBFFFFFFFF\fP .RS 4 هي المعالجات من #0 إلى #31، .RE .sp \fB0x32\fP .RS 4 هي المعالجات #1، و #4، و #5، .RE .sp \fB\-\-cpu\-list 0\-2,6\fP .RS 4 هي المعالجات #0، و #1، و #2، و #6. .RE .sp \fB\-\-cpu\-list 0\-10:2\fP .RS 4 هي المعالجات #0، و #2، و #4، و #6، و #8 و #10. تحدد اللاحقة ":N" الخطوة في النطاق، فمثلاً 0\-10:3 تُفسر على أنها القائمة 0,3,6,9. .RE .sp عندما ينتهي \fBtaskset\fP، فإنه يُضمن أن البرنامج المعطى قد جُدول على وحدة معالجة مركزية قانونية. .SH "الخيارات" .sp \fB\-a\fP، \fB\-\-all\-tasks\fP .RS 4 اضبط أو استرجع تقارب وحدة المعالجة المركزية لكافة المهام (الخيوط) لمعرف عملية (PID) معين. .RE .sp \fB\-c\fP، \fB\-\-cpu\-list\fP .RS 4 فَسّر \fIقناع\fP كقائمة رقمية للمعالجات بدلاً من قناع بتات. تُفصل الأرقام بفواصل وقد تتضمن نطاقات. على سبيل المثال: \fB0,5,8\-11\fP. .RE .sp \fB\-p\fP، \fB\-\-pid\fP .RS 4 العمل على معرّف عملية (PID) موجود وعدم إطلاق مهمة جديدة. إذا كان معرّف العملية صفراً، فسيتم العمل على عملية \fBtaskset\fP نفسها. .RE .sp \fB\-h\fP، \fB\-\-help\fP .RS 4 اعرض نص المساعدة ثم اخرج. .RE .sp \fB\-V\fP، \fB\-\-version\fP .RS 4 اعرض الإصدار واخرج. .RE .SH "الاستخدام" .sp السلوك المبدئي هو تشغيل أمر جديد بقناع تقارب محدد: .RS 4 \fBtaskset\fP \fIقناع\fP \fIأمر\fP \fIوسائط\fP] .RE .sp يمكنك أيضاً استرجاع تقارب وحدة المعالجة المركزية لمهمة موجودة: .RS 4 \fBtaskset \-p\fP \fIمعرّف\-العملية\fP .RE .sp أو اضبطها: .RS 4 \fBtaskset \-p\fP \fImask pid\fP .RE .sp عند تحديد قائمة معالجات لعملية موجودة، يجب تجميع الخيارين \fB\-p\fP و \fB\-c\fP معاً: .RS 4 \fBtaskset \-pc\fP \fIcpu\-list pid\fP .RE .sp نموذج \fB\-\-cpu\-list\fP قابل للتطبيق فقط لإطلاق أوامر جديدة: .RS 4 \fBtaskset \-\-cpu\-list\fP \fIcpu\-list command\fP .RE .SH "الأذونات" .sp يستطيع المستخدم تغيير تقارب وحدة المعالجة المركزية لعملية تنتمي للمستخدم نفسه. يجب أن يمتلك المستخدم صلاحية \fBCAP_SYS_NICE\fP لتغيير تقارب وحدة المعالجة المركزية لعملية تنتمي لمستخدم آخر. يستطيع المستخدم استرجاع قناع التقارب لأي عملية. .SH "حالة الخروج" .sp يُرجع \fBtaskset\fP القيمة 0 في وضع استرجاع التقارب طالما أن معرف العملية (PID) المزود موجود. .sp يُرجع \fBtaskset\fP القيمة 0 في وضع ضبط الالفة طالما أن استدعاء النظام \fBsched_setaffinity\fP(2) الأساسي يفعل ذلك. لا يضمن نجاح الأمر أن الخيط (thread) المحدد قد انتقل فعليًا إلى المعالج (أو المعالجات) المشار إليها، بل يضمن فقط أن الخيط لن ينتقل إلى معالج خارج قناع الألفة الجديد. على سبيل المثال، يمكن ضبط ألفة خيط النواة kswapd، ولكن الخيط قد لا ينتقل فورًا ولا يُضمن انتقاله أبدًا: .sp $ ps ax \-o comm,psr,pid | grep kswapd .br kswapd0 4 82 .br $ sudo taskset \-p 1 82 .br pid 82\(cqs current affinity mask: 1 .br pid 82\(cqs new affinity mask: 1 .br $ echo $? .br 0 .br $ ps ax \-o comm,psr,pid | grep kswapd .br kswapd0 4 82 .br $ taskset \-p 82 .br pid 82\(cqs current affinity mask: 1 .br .sp في المقابل، عندما يحدد المستخدم ألفة غير قانونية، سيطبع taskset خطأ ويُرجع القيمة 1: .sp $ ps ax \-o comm,psr,pid | grep ksoftirqd/0 .br ksoftirqd/0 0 14 .br $ sudo taskset \-p 1 14 .br pid 14\(cqs current affinity mask: 1 .br taskset: failed to set pid 14\(cqs affinity: Invalid argument .br $ echo $? .br 1 .br .SH "أمثلة" .sp اطبع الألفة الحالية لوحدة المعالجة المركزية كقائمة. .sp $ taskset \-pc 0 .br قائمة الألفة الحالية لـ pid 1355988 هي: 0\-47 .br .SH "المؤلفين" .sp كتبه Robert M. Love. .SH "حقوق النسخ" .sp حقوق النشر © 2004 Robert M. Love. هذا برمجية حرة؛ انظر المصدر لشروط النسخ. لا يوجد أي ضمان؛ ولا حتى لغرض التسويق أو الملاءمة لغرض معين. .SH "انظر أيضاً" .sp \fBchrt\fP(1)، \fBnice\fP(1)، \fBrenice\fP(1)، \fBsched_getaffinity\fP(2)، \fBsched_setaffinity\fP(2) .sp انظر \fBsched\fP(7) لوصف مخطط جدولة لينكس. .SH "التبليغ عن الأخطاء" .sp لتقارير العِلل، استخدم \c .URL "https://github.com/util\-linux/util\-linux/issues" "مُتتبع المشكلات" "." .SH "التوفر" .sp الأمر \fBtaskset\fP جزء من حزمة util\-linux التي يمكن تنزيلها من \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "أرشيف نواة لينكس" "."