Can you Kill Zombies !
كلمة زومبي تعني الميت الحي او الكائن الذي يفترض ان يكون ميتا لذلك نطلق هذا الاسم على ال
Child process
التي تم أيقافها او قتلها... لكن حالة الخروج الخاصه بها او
تم تجاهلها من قبل الوالد
فقد تم أنهائها الا انه لا زال يوجد لها مدخل بجدول العمليات أو
فهذا يعني ان العمليه الابن قد ماتت لكن لم تختفي!
ولأنها جامده فهي تحتاج الى أن تسمح بالعمليه التي بدأتها بأن تقرأ جدول الخروج لها
سوف أشير هنا لل
Child process = الابن
Parent process = الاب
Process table = جدول العمليات
Exit table = جدول الخروج
Exit status= حالات الخروج
Process = عمليه
Process entry = مدخل العمليه
مثل هؤلاء الابناء الزومبي يتم تبديل أبائهم ليكونو ابناء لأب أخر خاص وهذا الاب يسترجع حالة الخروج ويسمح لنظام التشغيل بأكمال عملية الانهاء للعمليه الميته أو الابن الزومبي
بهذه الطريقه نستطيع أبقاء جدول العمليات بحاله مستقره
عندما تنهى العمليه فأن جميع ما يخصها من ذاكره وموارد يعاد وضعها وتكون متاحه حتى تتمكن العمليا ت الاخرى من أستخدامها , ولكن يبقى مدخل العمليه بالجدول .
الطريقه التي يستطيع الاب انهاء وأزالة الابن الزومبي بها هي تنفيذ
يمكن تنفيذ هذا الامر غالبا بال
لل
والذي يرسله الاب عادة في اي وقت يموت فيه الابن ...
-------------------------------------------------------------------------------------
بعد ازالة الزومبي يعود ال
Process ID
و المدخل خاصته بجدول العمليات ليكون متاحا , لكن ان فشل الاب بمناداة
Wait
يبقى مدخل الزومبي بجدول العمليات بهذه الحاله .. وقد تكون هذه الحاله مرغوبه او مفضله
على سبيل المثال ان صنع الاب ابن أخر سوف يتأكد انه لن يتعين بنفس ال
ID
لهذه العمليه .
في بعض الحالات بنظام اللينكس يتجاهل الاب ضمنيا ال
عندها يتم التخلص من جميع معلومات حالات الخروج
ولن يبقى اي من الزومبيز .
يختلف الزومبي عن الاورفن أو اليتيم وهو عمليه يتم تنفيذها الا ان والدها قد توفي ولكنها لا تتحول الى زومبي بل يتم تبنهيها من ال
Init
والذي يستعمل بدوره
Wait
على ابناءه عادة.
-------------------------------------------------------------------------------------
يمكن التعرف على ان العمليه هي زومبي عن طريق الامر
ps
عند وجود الحرف
Z
بعمود ال
Stat
وعند ملاحظة وجود الزومبي لفتره غير قصيره فأن هذا يعني وجود
Bug
او عطل بالبرنامج الأب.
وجود الكثير من الزومبيز لا يدعو للقلق لكنه يشير الى مشكله يمكن ان تكبر لتصبح جديه عند التحميل الثقيل
ولأن الزومبي لا يأخذ مساحه بالذاكره فهو لا يملكها بالأساس لكنه يمتلك مدخل بجدول العمليات وهذا يسبب
نقصان بعدد ال
Id
-------------------------------------------------------------------------------------
لأزالة الزومبي يمكن اتمام العمليه يدويا عن طريق أمر
Kill
وان بقي الاب رافضا قتل أو انها ء حياة أبنه المسكين ننتقل للمرحله التاليه وهي قتل الاب
وبهذه الطريقه يتعين أب جديد وهو ال
Init
عندئذ يقوم بتنفيذ
وهذا الامر يقتل اي زومبي يكون والده هو
Init
:P
------------------------------------------------------------------------------------------------------------------------------------
ندى ابراهيم العليان *
المصدر
Comments (0)
You don't have permission to comment on this page.