الفرق بين المراجعتين لصفحة: «Ruby/Process::Status»
جميل-بيلوني (نقاش | مساهمات) ط نقل جميل-بيلوني صفحة Ruby/Process/Status إلى Ruby/Process::Status: تصحيح العنوان. |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(2 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
{{DISPLAYTITLE:الوحدة <code>Process::Status</code> في روبي}} | {{DISPLAYTITLE:الوحدة <code>Process::Status</code> في روبي}} | ||
تُغلِّف الوحدة <code>Process::Status</code> | تُغلِّف الوحدة <code>Process::Status</code> معلومات عن حالة عملية النظام النشطة أو المنتهية. يكون المتغيِّر <code>$?</code> المُضمَّن إمّا مساويًا للقيمة <code>nil</code> أو يكون كائنًا للوحدة <code>Process::Status</code>.<syntaxhighlight lang="ruby"> | ||
fork { exit 99 } #=> 26557 | fork { exit 99 } #=> 26557 | ||
Process.wait #=> 26557 | Process.wait #=> 26557 | ||
سطر 14: | سطر 14: | ||
== توابع النسخة العامة (Public Instance Methods) == | == توابع النسخة العامة (Public Instance Methods) == | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/26|&]]</code> === | ||
يجري العملية <code>AND</code> المنطقية لبِتَّات الحالة <code>stat</code> مع قيمة محدَّدة. | يجري العملية <code>AND</code> المنطقية لبِتَّات الحالة <code>stat</code> مع قيمة محدَّدة. | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/3D-3D|==]]</code> === | ||
يتحقَّق إذا كان قيمة الحالة <code>stat</code> مساويةً لقيمة عددية محدَّدة. | يتحقَّق إذا كان قيمة الحالة <code>stat</code> مساويةً لقيمة عددية محدَّدة. | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/3E-3E|>>]]</code> === | ||
يزيح بِتَّات قيمة الحالة <code>stat</code> إلى اليمين عددًا محدَّدًا من المنازل. | يزيح بِتَّات قيمة الحالة <code>stat</code> إلى اليمين عددًا محدَّدًا من المنازل. | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/coredump-3F|?coredump]]</code> === | ||
يتحقَّق إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة (<code>core dump</code> أو <code>memory dump</code>) عندما أُنهيت. | يتحقَّق إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة (<code>core dump</code> أو <code>memory dump</code>) عندما أُنهيت. | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/exited-3F|?exited]]</code> === | ||
يتحقَّق إذا كانت حالة العمليَّة <code>stat</code> قد أُنهيَت بشكلٍ طبيعي (مثل استخدام الاستدعاء ()exit لإنهاء البرنامج). | يتحقَّق إذا كانت حالة العمليَّة <code>stat</code> قد أُنهيَت بشكلٍ طبيعي (مثل استخدام الاستدعاء ()exit لإنهاء البرنامج). | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/exitstatus|exitstatus]]</code> === | ||
يُعيد البِتَّات الثمانية الأقل أهمية للقيمة التي تعيدها الشيفرة وتخرج بها من الحالة <code>stat</code>. | يُعيد البِتَّات الثمانية الأقل أهمية للقيمة التي تعيدها الشيفرة وتخرج بها من الحالة <code>stat</code>. | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/inspect|inspect]]</code> === | ||
يؤدي دور تابع الفحص (inspection method). | يؤدي دور تابع الفحص (inspection method). | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/pid|pid]]</code> === | ||
يُعيد معرِّف العملية (process ID) الذي يمثِّله كائن حالة <code>stat</code> محدَّد. | يُعيد معرِّف العملية (process ID) الذي يمثِّله كائن حالة <code>stat</code> محدَّد. | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/signaled-3F|?signaled]]</code> === | ||
يتحقَّق إذا كانت الحالة <code>stat</code> للعملية تشير إلى أنَّها أُنهيت بسبب إشارةٍ غير ملتقطة (uncaught signal). | يتحقَّق إذا كانت الحالة <code>stat</code> للعملية تشير إلى أنَّها أُنهيت بسبب إشارةٍ غير ملتقطة (uncaught signal). | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/stopped-3F|?stopped]]</code> === | ||
يتحقَّق إذا كانت العمليَّة قد أوقِفَت. يعيد التابع القيمة <code>true</code> فقط إذا ضُبطت الراية <code>WUNTRACED</code> في استدعاء <code>wait</code> الموافق. | يتحقَّق إذا كانت العمليَّة قد أوقِفَت. يعيد التابع القيمة <code>true</code> فقط إذا ضُبطت الراية <code>WUNTRACED</code> في استدعاء <code>wait</code> الموافق. | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/stopsig|stopsig]]</code> === | ||
يُعيد عدد الإشارات التي تسبَّبت في إيقاف العمليَّة (أو القيمة <code>nil</code> إذا كانت غير متوقَّفة). | يُعيد عدد الإشارات التي تسبَّبت في إيقاف العمليَّة (أو القيمة <code>nil</code> إذا كانت غير متوقَّفة). | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/success-3F|?success]]</code> === | ||
يتحقَّق إذا كانت حالة العملية <code>stat</code> تشير إلى أنَّها ناجحة. | يتحقَّق إذا كانت حالة العملية <code>stat</code> تشير إلى أنَّها ناجحة. | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/termsig|termsig]]</code> === | ||
يُعيد عدد الإشارات التي تسبَّبت في إنهاء العمليَّة. | يُعيد عدد الإشارات التي تسبَّبت في إنهاء العمليَّة. | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/to i|to_i]]</code> === | ||
يُعيد بِتَّات حالة العمليَّة <code>stat</code> على شكل عددٍ صحيح. | يُعيد بِتَّات حالة العمليَّة <code>stat</code> على شكل عددٍ صحيح. | ||
=== <code>[[Ruby/Process | === <code>[[Ruby/Process::Status/to s|to_s]]</code> === | ||
يُظهر معرِّف العملية (PID) وحالة الخروج. | يُظهر معرِّف العملية (PID) وحالة الخروج. | ||
المراجعة الحالية بتاريخ 07:50، 30 مارس 2019
تُغلِّف الوحدة Process::Status
معلومات عن حالة عملية النظام النشطة أو المنتهية. يكون المتغيِّر $?
المُضمَّن إمّا مساويًا للقيمة nil
أو يكون كائنًا للوحدة Process::Status
.
fork { exit 99 } #=> 26557
Process.wait #=> 26557
$?.class #=> Process::Status
$?.to_i #=> 25344
$? >> 8 #=> 99
$?.stopped? #=> false
$?.exited? #=> true
$?.exitstatus #=> 99
تسجِّل أنظمة Posix معلوماتٍ عن العمليات مستخدمةً العدد الصحيح 16-بت
. تسجِّل البِتَّات السفلية الأقل أهمية (lower bits) من هذا العدد حالة العمليَّة (متوقِّفة، مغلقة، مؤشَّرة) والبِتَّات العلوية الأكثر أهمية (upper bits) من المحتمل أن تتضمَّن معلوماتٍ إضافيَّةٍ (على سبيل المثال، يُعيد البرنامج رمزًا في حالة العمليات المُغلقة). قبل الاصدار 1.8 من روبي، كانت هذه البِتَّات مكشوفةً وظاهرةً مباشرةً لبرنامج روبي. الآن، أصبحت روبي تغلِّفها في الكائن Process::Status
. من أجل توافقٍ أعظمي، تحتفظ هذه الكائنات بواجهةٍ معتمدةٍ على البت (bit-oriented interface). من الآن وصاعدًا، عندما نتكلَّم عن قيمة الحالة stat
، فنحن نشير إلى قيمة العدد ذي الحجم 16 بت
الذي أشرنا إليه آنفًا.
توابع النسخة العامة (Public Instance Methods)
&
يجري العملية AND
المنطقية لبِتَّات الحالة stat
مع قيمة محدَّدة.
==
يتحقَّق إذا كان قيمة الحالة stat
مساويةً لقيمة عددية محدَّدة.
>>
يزيح بِتَّات قيمة الحالة stat
إلى اليمين عددًا محدَّدًا من المنازل.
?coredump
يتحقَّق إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة (core dump
أو memory dump
) عندما أُنهيت.
?exited
يتحقَّق إذا كانت حالة العمليَّة stat
قد أُنهيَت بشكلٍ طبيعي (مثل استخدام الاستدعاء ()exit لإنهاء البرنامج).
exitstatus
يُعيد البِتَّات الثمانية الأقل أهمية للقيمة التي تعيدها الشيفرة وتخرج بها من الحالة stat
.
inspect
يؤدي دور تابع الفحص (inspection method).
pid
يُعيد معرِّف العملية (process ID) الذي يمثِّله كائن حالة stat
محدَّد.
?signaled
يتحقَّق إذا كانت الحالة stat
للعملية تشير إلى أنَّها أُنهيت بسبب إشارةٍ غير ملتقطة (uncaught signal).
?stopped
يتحقَّق إذا كانت العمليَّة قد أوقِفَت. يعيد التابع القيمة true
فقط إذا ضُبطت الراية WUNTRACED
في استدعاء wait
الموافق.
stopsig
يُعيد عدد الإشارات التي تسبَّبت في إيقاف العمليَّة (أو القيمة nil
إذا كانت غير متوقَّفة).
?success
يتحقَّق إذا كانت حالة العملية stat
تشير إلى أنَّها ناجحة.
termsig
يُعيد عدد الإشارات التي تسبَّبت في إنهاء العمليَّة.
to_i
يُعيد بِتَّات حالة العمليَّة stat
على شكل عددٍ صحيح.
to_s
يُظهر معرِّف العملية (PID) وحالة الخروج.