الفرق بين المراجعتين لصفحة: «Ruby/Process»
جميل-بيلوني (نقاش | مساهمات) لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) اكتمال إضافة وترجمة صفحات الصنف |
||
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
{{DISPLAYTITLE:الوحدة <code>Process</code> في روبي}} | {{DISPLAYTITLE:الوحدة <code>Process</code> في روبي}} | ||
تستعمل الوحدة <code>Process</code> للتعامل والتحكم بجميع العمليات في روبي. | تستعمل الوحدة <code>Process</code> للتعامل والتحكم بجميع العمليات في روبي. | ||
سطر 139: | سطر 138: | ||
=== <code>RLIMIT_RTPRIO</code> === | === <code>RLIMIT_RTPRIO</code> === | ||
يُحدِّد الحد الأقصى | يُحدِّد الحد الأقصى للأولولية الآنية (real-time priority) التي قد تُضبَط لهذه العملية. | ||
اطلع على دليل دالة النظام <code>getrlimit(2)</code> لمزيد من التفاصيل. | اطلع على دليل دالة النظام <code>getrlimit(2)</code> لمزيد من التفاصيل. | ||
=== <code>RLIMIT_RTTIME</code> === | === <code>RLIMIT_RTTIME</code> === | ||
يحدِّد حدًا | يحدِّد حدًا لزمن المعالجة (CPU) الذي تستطيع هذه العملية التي جُدولَت تحت سياسية الجدولة الآنية (real-time scheduling policy) أن تستهلكه. | ||
اطلع على دليل دالة النظام <code>getrlimit(2)</code> لمزيد من التفاصيل. | اطلع على دليل دالة النظام <code>getrlimit(2)</code> لمزيد من التفاصيل. | ||
سطر 187: | سطر 186: | ||
===<code>[[Ruby/Process/clock_gettime|clock_gettime]]</code>=== | ===<code>[[Ruby/Process/clock_gettime|clock_gettime]]</code>=== | ||
يعيد الوقت | يعيد الوقت المعاد عبر الدالة <code>clock_gettime()</code> التي تخص POSIX. | ||
===<code>[[Ruby/Process/daemon|daemon]]</code>=== | ===<code>[[Ruby/Process/daemon|daemon]]</code>=== | ||
سطر 247: | سطر 246: | ||
===<code>[[Ruby/Process/initgroups|initgroups]]</code>=== | ===<code>[[Ruby/Process/initgroups|initgroups]]</code>=== | ||
يهيِّئ قائمة وصول المجموعات الإضافية (supplemental group access list) عبر قراءة قاعدة بيانات مجموعة النظام (system group database) واستعمال جميع المجموعات التي يكون المستخدم المعطى عضوًا فيها. | |||
===<code>[[Ruby/Process/kill|kill]]</code>=== | ===<code>[[Ruby/Process/kill|kill]]</code>=== | ||
يرسل إشارة محدَّدة إلى عملية ذات مُعرِّف معطى أو إلى جميع العمليات التي معرِّف المجموعة التي تملكه مساويًا إلى معرِّف المجموعة للعملية المستدعية. | |||
===<code>[[Ruby/Process/last_status|last_status]]</code>=== | ===<code>[[Ruby/Process/last_status|last_status]]</code>=== | ||
يعيد حالة آخر عملية ابن نفِّذَت في [[Ruby/Thread|الخيط]] الحالي. | |||
===<code>[[Ruby/Process/maxgroups|maxgroups]]</code>=== | ===<code>[[Ruby/Process/maxgroups|maxgroups]]</code>=== | ||
يعيد العدد الأقصى لمُعرِّفات المجموعات المسموح بها في قائمة وصول المجموعات الإضافية (supplemental group access list). | |||
===<code>[[Ruby/Process/maxgroups-3D|maxgroups=]]</code>=== | ===<code>[[Ruby/Process/maxgroups-3D|maxgroups=]]</code>=== | ||
يضبط عند استدعائه بالشكل <code>maxgroups= integer</code> العدد الأقصى لمُعرِّفات المجموعات المسموح بها في قائمة وصول المجموعات الإضافية (supplemental group access list) إلى القيمة <code>integer</code>. | |||
===<code>[[Ruby/Process/pid|pid]]</code>=== | ===<code>[[Ruby/Process/pid|pid]]</code>=== | ||
يعيد مُعرَّف العملية الحالية. | |||
===<code>[[Ruby/Process/ppid|ppid]]</code>=== | ===<code>[[Ruby/Process/ppid|ppid]]</code>=== | ||
يعيد معرِّف العملية الأب للعملية الحالية. | |||
===<code>[[Ruby/Process/setpgid|setpgid]]</code>=== | ===<code>[[Ruby/Process/setpgid|setpgid]]</code>=== | ||
يضبط مُعرِّف المجموعة المالكة لعملية محدَّدة أو العملية الحالية. | |||
===<code>[[Ruby/Process/setpgrp|setpgrp]]</code>=== | ===<code>[[Ruby/Process/setpgrp|setpgrp]]</code>=== | ||
يكافئ الاستدعاء <code>[[Ruby/Process/setpgid|setpgid(0,0)]]</code>. | |||
===<code>[[Ruby/Process/setpriority|setpriority]]</code>=== | ===<code>[[Ruby/Process/setpriority|setpriority]]</code>=== | ||
يضبط قيمة أولوية الجدولة (scheduling priority) لعملية محدَّدة أو لمجموعة مالكة أو مستخدم مالك لعملية. | |||
===<code>[[Ruby/Process/setproctitle|setproctitle]]</code>=== | ===<code>[[Ruby/Process/setproctitle|setproctitle]]</code>=== | ||
يضبط عنوان العملية الذي يظهر عند تنفيذ الأمر <code>ps(1)</code>. | |||
===<code>[[Ruby/Process/setrlimit|setrlimit]]</code>=== | ===<code>[[Ruby/Process/setrlimit|setrlimit]]</code>=== | ||
يضبط قيد المورد (resource limit) للعملية. | |||
===<code>[[Ruby/Process/setsid|setsid]]</code>=== | ===<code>[[Ruby/Process/setsid|setsid]]</code>=== | ||
يؤسس العملية الحالية على أنَّها جلسة جديدة وقائدة جديدة للمجموعة المالكة للعملية دون التحكم بالطرفية tty. | |||
===<code>[[Ruby/Process/spawn|spawn]]</code>=== | ===<code>[[Ruby/Process/spawn|spawn]]</code>=== | ||
يُنفِّذ أمرًا محدَّدًا ثم يعيد مُعرِّف العملية الخاصة به. | |||
===<code>[[Ruby/Process/times|times]]</code>=== | ===<code>[[Ruby/Process/times|times]]</code>=== | ||
يعيد بنيةً من النوع <code>Tms</code> تحتوي على زمن المعالجة (CPU time) للعملية الحالية والعمليات الأبناء أيضًا. | |||
===<code>[[Ruby/Process/uid|uid]]</code>=== | ===<code>[[Ruby/Process/uid|uid]]</code>=== | ||
يعيد المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية. | |||
===<code>[[Ruby/Process/uid-3D|uid=]]</code>=== | ===<code>[[Ruby/Process/uid-3D|uid=]]</code>=== | ||
يضبط عند استدعائه بالشكل <code>uid= user</code> المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية إلى القيمة <code>user</code>. | |||
===<code>[[Ruby/Process/wait|wait]]</code>=== | ===<code>[[Ruby/Process/wait|wait]]</code>=== | ||
ينتظر خروج العملية الابن ثم يعيد مُعرِّفها ويضبط <code>?$</code> إلى قيمة الكائن <code>Process::Status</code> الذي يحوي معلومات حول تلك العملية. | |||
===<code>[[Ruby/Process/wait2|wait2]]</code>=== | ===<code>[[Ruby/Process/wait2|wait2]]</code>=== | ||
ينتظر خروج العملية الابن ثم يعيد مصفوفة تحوي مُعرِّف وحالة الخروج (كائنًا من النوع <code>[[Ruby/Process::Status|Process::Status]]</code>) تلك العملية. | |||
===<code>[[Ruby/Process/waitall|waitall]]</code>=== | ===<code>[[Ruby/Process/waitall|waitall]]</code>=== | ||
ينتظر جميع العمليات الأبناء للعملية الحالية ثم يعيد مصفوفة تحوي الأزواج [[Ruby/Process::Status|مُعرِّف_العملية]]/الحالة (pid/status). | |||
===<code>[[Ruby/Process/waitpid|waitpid]]</code>=== | ===<code>[[Ruby/Process/waitpid|waitpid]]</code>=== | ||
ينتظر خروج العملية الابن ثم يعيد مُعرِّفها ويضبط <code>?$</code> إلى قيمة الكائن <code>[[Ruby/Process::Status|Process::Status]]</code> الذي يحوي معلومات حول تلك العملية. | |||
===<code>[[Ruby/Process/waitpid2|waitpid2]]</code>=== | ===<code>[[Ruby/Process/waitpid2|waitpid2]]</code>=== | ||
ينتظر خروج العملية الابن ثم يعيد مصفوفة تحوي مُعرِّف وحالة الخروج (كائنًا من النوع <code>[[Ruby/Process::Status|Process::Status]]</code>) تلك العملية. | |||
== مصادر == | == مصادر == | ||
* [http://ruby-doc.org/core-2.5.1/Process.html صفحة الصنف Process في توثيق روبي الرسمي.] | * [http://ruby-doc.org/core-2.5.1/Process.html صفحة الصنف Process في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 08:27، 6 يناير 2019
تستعمل الوحدة Process
للتعامل والتحكم بجميع العمليات في روبي.
الثوابت
CLOCK_BOOTTIME
اطلع على توثيق التابع clock_gettime
.
CLOCK_BOOTTIME_ALARM
اطلع على توثيق التابع clock_gettime
.
CLOCK_MONOTONIC
اطلع على توثيق التابع clock_gettime
.
CLOCK_MONOTONIC_COARSE
اطلع على توثيق التابع clock_gettime
.
CLOCK_MONOTONIC_FAST
اطلع على توثيق التابع clock_gettime
.
CLOCK_MONOTONIC_PRECISE
اطلع على توثيق التابع clock_gettime
.
CLOCK_MONOTONIC_RAW
اطلع على توثيق التابع clock_gettime
.
CLOCK_MONOTONIC_RAW_APPROX
اطلع على توثيق التابع clock_gettime
.
CLOCK_PROCESS_CPUTIME_ID
اطلع على توثيق التابع clock_gettime
.
CLOCK_PROF
اطلع على توثيق التابع clock_gettime
.
CLOCK_REALTIME
اطلع على توثيق التابع clock_gettime
.
CLOCK_REALTIME_ALARM
اطلع على توثيق التابع clock_gettime
.
CLOCK_REALTIME_COARSE
اطلع على توثيق التابع clock_gettime
.
CLOCK_REALTIME_FAST
اطلع على توثيق التابع clock_gettime
.
CLOCK_REALTIME_PRECISE
اطلع على توثيق التابع clock_gettime
.
CLOCK_SECOND
اطلع على توثيق التابع clock_gettime
.
CLOCK_THREAD_CPUTIME_ID
اطلع على توثيق التابع clock_gettime
.
CLOCK_UPTIME
اطلع على توثيق التابع clock_gettime
.
CLOCK_UPTIME_FAST
اطلع على توثيق التابع clock_gettime
.
CLOCK_UPTIME_PRECISE
اطلع على توثيق التابع clock_gettime
.
CLOCK_UPTIME_RAW
اطلع على توثيق التابع clock_gettime
.
CLOCK_UPTIME_RAW_APPROX
اطلع على توثيق التابع clock_gettime
.
CLOCK_VIRTUAL
اطلع على توثيق التابع clock_gettime
.
PRIO_PGRP
اطلع على توثيق التابع setpriority
.
PRIO_PROCESS
اطلع على توثيق التابع setpriority
.
PRIO_USER
اطلع على توثيق التابع setpriority
.
RLIMIT_AS
الحجم الأعظمي للذاكرة الافتراضية للعملية (مساحة العنوان [address space]) بالبايت.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_CORE
الحجم الأعظمي لملف النواة (core file).
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_CPU
مهلة (time limit) المعالج بالثانية.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_DATA
الحجم الأعظمي لقطعة بيانات (data segment) العملية.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_FSIZE
الحجم الأعظمي للملفات التي قد تنشئها العملية.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_MEMLOCK
عدد البايتات الأعظمي للذاكرة التي قُفلَت (حجزت) من أجل الذاكرة RAM.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_MSGQUEUE
يحدِّد القيد على عدد البايتات التي يمكن أن تُحجَز من أجل طوابير رسالة POSIX لمعرف المستخدم الفعلي (real user ID) للعملية المستدعية.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_NICE
يحدِّد الحد الأعلى الذي يمكن أن تُطلَق (raised) القيمة nice للعملية إليه.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_NOFILE
يحدِّد قيمةً أكبر من العدد الأعظمي لواصف ملف بمقدار 1 والذي يمكن أن يُفتَح بوساطة هذه العملية.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_NPROC
العدد الأعظمي للعمليات التي يمكن أن تُنشَأ من أجل مُعرِّف المستخدم الحقيقي للعملية المستدعية.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_RSS
يحدِّد الحد (بالصفحات) للمجموعة المشغولة (resident set) للعملية.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_RTPRIO
يُحدِّد الحد الأقصى للأولولية الآنية (real-time priority) التي قد تُضبَط لهذه العملية.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_RTTIME
يحدِّد حدًا لزمن المعالجة (CPU) الذي تستطيع هذه العملية التي جُدولَت تحت سياسية الجدولة الآنية (real-time scheduling policy) أن تستهلكه.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_SBSIZE
الحجم الأعظمي لذاكرة التخزين المؤقتة للمقبس.
RLIMIT_SIGPENDING
يحدِّد حدًا على عدد الإشارات التي قد تنتظر في الطابور من أجل مُعرِّف المستخدم الفعلي للعملية المستدعية.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIMIT_STACK
الحجم الأعظمي للمكدس بالبايت.
اطلع على دليل دالة النظام getrlimit(2)
لمزيد من التفاصيل.
RLIM_INFINITY
اطلع على توثيق التابع setrlimit
.
RLIM_SAVED_CUR
اطلع على توثيق التابع setrlimit
.
RLIM_SAVED_MAX
اطلع على توثيق التابع setrlimit
.
WNOHANG
اطلع على توثيق التابع wait
.
WUNTRACED
اطلع على توثيق التابع wait
.
توابع الصنف العامة
abort
ينهي تنفيذ العملية مباشرةً بشكل فعَّال عبر استدعاء Kernel.exit(false)
.
argv0
يعيد اسم الشيفرة البرمجية التي يجري تنفيذها.
clock_getres
يعيد دقة الوقت المعادة عبر الدالة clock_getres()
التي تخص POSIX.
clock_gettime
يعيد الوقت المعاد عبر الدالة clock_gettime()
التي تخص POSIX.
daemon
يفصل العملية من طرفية التحكم ويُشغِّلها في الخلفية كجوهرة نظام (system daemon).
detach
يمنع سلوك الاحتفاظ بالعمليات الفرعية المنهية التي تنتظر أن تُجمع حالتها من العملية الأب عبر ضبط خيط منفصل من روبي وظيفته الوحيدة هي جمع الحالة لمعرف العملية (pid) عندما تُنهَى.
egid
يعيد مُعرِّف المجموعة الفعال (effective group ID) المالكة لهذه العملية.
egid=
يضبط عندما يستدعى بالشكل egid = integer
المُعرِّف الفعَّال للمجموعة المالكة لهذه العملية إلى القيمة integer
.
euid
يعيد مُعرِّف المستخدم الفعال (effective user ID) المالك لهذه العملية.
euid=
يضبط عندما يستدعى بالشكل euid = integer
المُعرِّف الفعَّال للمستخدم المالك لهذه العملية إلى القيمة integer
.
exec
يستبدل العملية الحالية عبر تشغيل الأمر الخارجي المعطى.
exit
يبدأ عملية الإنهاء لشيفرة روبي البرمجية عبر اطلاق الاستثناء SystemExit
.
exit!
ينهي العملية ويخرج منها مباشرةً. لن تُنفَّذ أية معالجات خروج حينذاك.
fork
ينشئ عملية فرعية.
getpgid
يعيد مُعرِّف المجموعة المالكة لعملية محدَّدة.
getpgrp
يعيد مُعرِّف المجموعة المالكة للعملية الحالية.
getpriority
يجلب قيمة أولوية الجدولة (scheduling priority) لعملية محدَّدة أو لمجموعة مالكة أو مستخدم مالك لعملية.
getrlimit
يجلب قيد المورد (resource limit) للعملية.
getsid
يعيد مُعرِّف الجلسة (session ID) للعملية الحالية أو عملية محدَّدة.
gid
يعيد المُعرِّف الحقيقي للمجموعة المالكة للعملية الحالية.
gid=
يضبط عند استدعائه بالشكل gid= integer
مُعرِّف المجموعة المالكة للعملية الحالية إلى القيمة integer
.
groups
يجلب مُعرِّفات المجموعات الموجودة في قائمة وصول المجموعات الإضافية (supplemental group access list) للعملية الحالية.
groups=
يضبط عند استدعائه بالشكل groups= array
قائمة وصول المجموعات الإضافية إلى المصفوفة array
المكونة من مُعرِّفات المجموعات للعملية الحالية.
initgroups
يهيِّئ قائمة وصول المجموعات الإضافية (supplemental group access list) عبر قراءة قاعدة بيانات مجموعة النظام (system group database) واستعمال جميع المجموعات التي يكون المستخدم المعطى عضوًا فيها.
kill
يرسل إشارة محدَّدة إلى عملية ذات مُعرِّف معطى أو إلى جميع العمليات التي معرِّف المجموعة التي تملكه مساويًا إلى معرِّف المجموعة للعملية المستدعية.
last_status
يعيد حالة آخر عملية ابن نفِّذَت في الخيط الحالي.
maxgroups
يعيد العدد الأقصى لمُعرِّفات المجموعات المسموح بها في قائمة وصول المجموعات الإضافية (supplemental group access list).
maxgroups=
يضبط عند استدعائه بالشكل maxgroups= integer
العدد الأقصى لمُعرِّفات المجموعات المسموح بها في قائمة وصول المجموعات الإضافية (supplemental group access list) إلى القيمة integer
.
pid
يعيد مُعرَّف العملية الحالية.
ppid
يعيد معرِّف العملية الأب للعملية الحالية.
setpgid
يضبط مُعرِّف المجموعة المالكة لعملية محدَّدة أو العملية الحالية.
setpgrp
يكافئ الاستدعاء setpgid(0,0)
.
setpriority
يضبط قيمة أولوية الجدولة (scheduling priority) لعملية محدَّدة أو لمجموعة مالكة أو مستخدم مالك لعملية.
setproctitle
يضبط عنوان العملية الذي يظهر عند تنفيذ الأمر ps(1)
.
setrlimit
يضبط قيد المورد (resource limit) للعملية.
setsid
يؤسس العملية الحالية على أنَّها جلسة جديدة وقائدة جديدة للمجموعة المالكة للعملية دون التحكم بالطرفية tty.
spawn
يُنفِّذ أمرًا محدَّدًا ثم يعيد مُعرِّف العملية الخاصة به.
times
يعيد بنيةً من النوع Tms
تحتوي على زمن المعالجة (CPU time) للعملية الحالية والعمليات الأبناء أيضًا.
uid
يعيد المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية.
uid=
يضبط عند استدعائه بالشكل uid= user
المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية إلى القيمة user
.
wait
ينتظر خروج العملية الابن ثم يعيد مُعرِّفها ويضبط ?$
إلى قيمة الكائن Process::Status
الذي يحوي معلومات حول تلك العملية.
wait2
ينتظر خروج العملية الابن ثم يعيد مصفوفة تحوي مُعرِّف وحالة الخروج (كائنًا من النوع Process::Status
) تلك العملية.
waitall
ينتظر جميع العمليات الأبناء للعملية الحالية ثم يعيد مصفوفة تحوي الأزواج مُعرِّف_العملية/الحالة (pid/status).
waitpid
ينتظر خروج العملية الابن ثم يعيد مُعرِّفها ويضبط ?$
إلى قيمة الكائن Process::Status
الذي يحوي معلومات حول تلك العملية.
waitpid2
ينتظر خروج العملية الابن ثم يعيد مصفوفة تحوي مُعرِّف وحالة الخروج (كائنًا من النوع Process::Status
) تلك العملية.