غیر تسلی بخش لکھا جاتا یا بری طرح کارکردگی کا مظاہرہ کر چھوڑ سکتے ہیں پروگرامز زومبی عمل آپ کے لینکس کے کمپیوٹر کے اندر میں lurking. کہ کس طرح میں zombies سے پیدا کی ہیں باہر تلاش کریں، اور آپ کو آخر میں ان کو آرام کرنے کے لئے رکھ سکتے ہیں کہ کس طرح.
کس طرح لینکس پر امریکہ کام عمل
لینکس، کورس کے، تمام ایپلی کیشنز اور آپ کے کمپیوٹر پر چلانے شیطان کا ٹریک رکھنے کے لئے ہے. طریقوں جو اس کرتا ہے میں سے ایک عمل ٹیبل برقرار رکھنے کی طرف ہے. یہ دانا یاد میں ڈھانچے کی ایک فہرست ہے. ہر عمل اس کے بارے میں کچھ معلومات پر مشتمل ہے جو اس فہرست میں ایک اندراج ہے.
عمل ٹیبل ڈھانچے سے ہر ایک میں ایک بڑا سودا نہیں ہے. وہ پکڑ عمل ID ، چند دیگر ڈیٹا اشیاء، اور اس عمل کے لئے عمل کو کنٹرول بلاک کے (پی سی بی) کے لئے ایک پوائنٹر.
یہ پی سی بی کے بہت سے تفصیلات لینکس اوپر دیکھو یا ہر عمل کے لئے قائم کرنے کے لئے کی ضرورت کی ڈگری حاصل کی ہے. پی سی بی نے بھی پروسیسنگ وقت دیا اس عمل سے پیدا اپ ڈیٹ کیا جاتا ہے، اور آخر میں تباہ کر دیا.
لینکس پی سی بی سے زیادہ 95 شعبوں پر مشتمل ہے.
یہ وضاحت کی گئی ہے
کے نام سے ایک ساخت کے طور پر
task_struct.h
، اور اس پر 700 لائنوں طویل ہے. پی سی بی کی معلومات کی مندرجہ ذیل اقسام پر مشتمل ہے:
- عمل ریاست : ریاستوں ذیل میں بیان کر رہے ہیں.
- عمل نمبر : آپریٹنگ سسٹم کے اندر اندر اپنی منفرد شناخت.
- پروگرام کاؤنٹر : اس عمل کو اگلے CPU تک رسائی دی جاتی ہے جب، نظام عمل کو پھانسی دی جانی چاہیے کی اگلی ہدایات کو تلاش کرنے کے لئے اس ایڈریس کا استعمال کریں گے.
- رجسٹر : اس عمل کی طرف سے استعمال کیا جاتا CPU رجسٹر کی فہرست. فہرست ایکیومی لیٹرز، انڈیکس کے رجسٹر، اور اسٹیک اشارہ پر مشتمل ہو سکتا ہے.
- اوپن فائل کی فہرست : فائلیں اس عمل کے ساتھ منسلک.
- CPU شیڈولنگ معلومات : کس طرح بار بار اس بات کا تعین کرنے کے لئے استعمال کیا، اور کتنی دیر کے لئے، CPU پروسیسنگ کے وقت اس عمل کو دیا جاتا ہے. عمل کی ترجیح، شیڈولنگ قطار، اور دیگر شیڈولنگ پیرامیٹرز کو اشارہ پی سی بی میں ریکارڈ کیا جانا ہے.
- یاد داشت مینجمنٹ انفارمیشن : تفصیلات جیسے میموری صفحات پر عمل میموری کے آغاز اور اختتام کے پتے، اور اشارہ اس عمل کو استعمال کر رہا ہے میموری، کے بارے میں.
- I / O حیثیت معلومات : کے عمل کی طرف سے استعمال کیا گیا کوئی in- یا پیداوار کے آلات.
"عمل سٹیٹ" مندرجہ ذیل میں سے کوئی بھی ہو سکتا ہے:
- R: ایک چلانے یا runnable عمل. رننگ مطلب یہ CPU سائیکل حاصل کرنے اور عمل ہے. A runnable عمل ایک CPU سلاٹ لئے چلاتے ہیں اور انتظار کرنے کے لئے تیار ہے.
- S: ایک سو کے عمل. عمل جیسے کسی in- یا پیداوار آپریشن، مکمل کرنے کے لئے ایک کارروائی کے لئے انتظار کر رہا ہے، یا ایک وسیلہ کے لئے دستیاب بننے کے لئے.
- D: عمل ایک مستقل نیند کی حالت میں ہے. یہ ایک مسدود کرنے کے نظام کی کال کا استعمال کرتے ہوئے کر رہا ہے اور جب تک نظام کو کالیں مکمل کر لیا ہے جاری نہیں کر سکتے ہیں. "نیند" ریاست کے برعکس، اس ریاست میں کسی عمل کو سگنل کو قبول نہ نظام کو کال کے مکمل ہونے تک جائے گا اور ان پر عملدرآمد کے عمل کرنے کے لئے واپس آ گیا ہے.
-
T:
عمل ختم کر دیا ہے (بند کر دیا) یہ ملا کیونکہ
SIGSTOPسگنل. یہ صرف جواب دے گا کرنے کے لئےSIGKILLیاSIGCONTسگنل، یا تو اس عمل کو مارنے یا جو بالترتیب جاری رکھنے کی ہدایت ہے. اس سے آپ سے تبادلہ کرتے وقت کیا ہو رہا ہے اگربھوم (FG) کرنے کے لئے پس منظر (BG)کاموں کو. -
Z:
ایک زومبی کے عمل. جب ایک عمل مکمل ہے، یہ صرف ختم ہو نہیں کرتا. اس سے اس کا استعمال کر رہا ہے کسی بھی میموری کو آزاد اور میموری کی طرف سے خود کو ہٹا دیتا ہے، لیکن عمل کی میز اور پی سی بی میں اس کے اندراج کے باقی ہیں. اس کی ریاست کے لئے مقرر کیا جاتا ہے
EXIT_ZOMBIE، اور اس کے والدین کے عمل کے ذریعے مطلع کیا جاتا ہے (SIGCHLDسگنل) کہ بچہ عمل ختم ہو گیا ہے.
زومبی حالت میں، والدین کے عمل میں سے ایک کہلاتی ہے
انتظار ()
افعال کے خاندانوں
جب بچے کے عمل سے پیدا ہوتا ہے. اس کے بعد یہ بچہ اس عمل میں ایک ریاست کی تبدیلی کے لئے انتظار کر رہی. بچے کے عمل، بند کر دیا ہے کیا گیا سلسلہ جاری، یا ایک سگنل کی طرف سے ہلاک؟ یہ اس کے کوڈ کا قدرتی تکمیل کے ذریعے چل رہا ہے کی طرف سے ختم کی ہے؟
ریاست میں تبدیلی بچے کے عمل چلنا بند کر دیا ہے کا مطلب ہے کہ ایک ہے تو، اس کے ایگزٹ کوڈ پڑھ رہا ہے. اس کے بعد، بچے کی پی سی بی کو تباہ کر دیا جاتا ہے اور اس عمل کے ٹیبل میں اس کے اندراج کو ہٹا دیا جاتا ہے. مثالی طور پر، یہ سب ایک آنکھ کی جھپک میں ہوتا ہے، اور زومبی ریاست میں عمل بہت دیر تک موجود نہیں ہے.
متعلقہ: لینکس پر چلانے اور کنٹرول پس منظر کے عمل کو کس طرح
کیا لینکس پر زومبی عمل کا سبب بنتا ہے؟
ایک غیر تسلی بخش لکھا والدین کے عمل کو فون نہیں کر سکتا
انتظار ()
جب بچے کے عمل سے پیدا ہوتا ہے کام. اس کا مطلب کچھ بھی نہیں بچے کے عمل میں ریاست کی تبدیلی کے لئے دیکھ رہا ہے، اور
SIGCHLD
سگنل کو نظر انداز کیا جائے گا. یا، شاید ایک اور درخواست تو کی وجہ سے غریب پروگرامنگ یا بدنیتی کے لئے، والدین کے عمل پر عملدرآمد کو متاثر کر رہا ہے.
تاہم، والدین کے عمل بچے کے عمل میں ریاست کی تبدیلی کے لئے دیکھ رہا نہیں کیا جاتا ہے تو، مناسب نظام خانہ داری واقع نہیں ہوگی. بچے کے عمل ختم جب پی سی بی اور عمل ٹیبل میں اندراج نہیں ہٹایا جائے گا. زومبی حالت میں یہ نتائج کبھی نہیں پی سی بی سے ہٹایا جا رہا ہے.
زومبی میموری کا تھوڑا سا استعمال کرتے ہیں، لیکن وہ عام طور پر ایک مسئلہ لاحق نہیں ہے. عمل ٹیبل میں داخلے جاری کیا ہے اس تک، عمل ID دوبارہ استعمال نہیں کیا جا سکتا ہے چھوٹا ہے، لیکن. پی سی بی کے عمل میز انٹری سے زیادہ بڑا ہے کیونکہ ایک 64 بٹ آپریٹنگ سسٹم پر، کہ کسی بھی مسائل پیدا کرنے کا امکان نہیں ہے.
zombies کی ایک بڑی تعداد، قیاس، دوسرے عمل کے لئے مفت ہے کہ میموری کی رقم کو متاثر کر سکتا ہے. آپ نے بہت سے زومبی، اگرچہ، آپ کے والدین کی درخواست یا ایک آپریٹنگ سسٹم مسئلے کے ساتھ ایک سنگین مسئلہ ہے مل گیا ہے تو.
زومبی عمل حذف کرنے کا طریقہ
آپ کو ایک زومبی کے عمل کو نہیں مار سکتے یہ پہلے ہی مر چکا تھا. اس کی وجہ یہ سے ہٹا دیا گیا ہے کسی بھی سگنل کا جواب نہیں کرے گا میموری کو وہاں بھیجنے کے لئے کہیں ہے
SIGKILL
سگنل. آپ بھیجنے کی کوشش کر سکتے ہیں
SIGCHLD
سگنل والدین کے عمل کرنے کے لئے ہے، لیکن یہ کام نہیں کیا ہے تو بچے کے عمل موقوف کردیا، جب اس بات کا امکان اب کام کرنے کے لئے ہے، یا تو.
صرف قابل اعتماد حل والدین کے عمل کو قتل کرنا ہے. یہ موقوف ہے جب، اس کے بچے کے عمل کی طرف سے وراثت میں ملے ہیں
اس میں
عمل، ایک لینکس نظام (اس کے عمل ID 1 ہے) میں چلانے کے لئے سب سے پہلے عمل ہے جس میں.
The.
اس میں
عمل باقاعدگی zombies کے لئے ضروری صفائی انجام دیتا ہے، ان کو مارنے کے لئے، لہذا آپ کو صرف ان کو پیدا ہے اس عمل کو قتل کرنا ہے. The.
اوپر
کمانڈ آپ کو کسی بھی zombies کو ہے تو دیکھنے کے لئے ایک آسان راستہ ہے.
مندرجہ ذیل کی قسم:
سب سے
یہ نظام آٹھ زومبی عمل ہے. ہم
ان کی فہرست کر سکتے
کا استعمال کرتے ہوئے کی طرف سے
پی ایس
کمانڈ
اور میں پائپنگ
egrep
. ایک بار پھر، زومبی عمل "، Z" کی حالت پرچم ہے اور آپ کو عام طور پر بھی دیکھ لیں گے "کالعدم".
مندرجہ ذیل کی قسم:
PS وکس | egrep "Z | کالعدم"
زومبی عمل درج ہیں.
یہ ذریعے آگے پیچھے سکرول کے مقابلے میں zombies کے عمل آئی ڈیز کو دریافت کرنے کے لئے ایک neater کی راہ ہے
اوپر
. ہم نے بھی دیکھیں "badprg" نامی ایک درخواست ان zombies بنا کہ.
پہلی زومبی کے عمل ID 7641 ہے، لیکن ہم اس کے والدین کے عمل کے عمل ID تلاش کرنے کے لئے کی ضرورت ہے. ہم استعمال کرتے ہوئے کی طرف سے ایسا کر سکتے ہیں
ایک بار پھر. ہم پیداوار کا اختیار استعمال کریں گے (
پی ایس
-o
) بتانے کے لئے
پی ایس
صرف والدین کے عمل ID ظاہر، اور پھر ساتھ ہی وقوع میں
ppid =
پرچم.
عمل ہم تلاش کرنا چاہتے ہیں کا استعمال کرتے ہوئے کی طرف اشارہ کیا جائے گا
-p
(عمل) کا اختیار ہے، اور پھر زومبی کے عمل ID میں گزر.
لہذا، ہم اس عمل 7641 کے لئے عمل میں معلومات تلاش کرنے کے لئے درج ذیل کمانڈ ٹائپ کریں، لیکن یہ صرف والدین کے عمل کی ID رپورٹ کریں گے:
PS -o ppid = -p 7641
ہم والدین کے عمل ID 7636. ہے اب ہم استعمال کرتے ہوئے کی طرف سے اس پار حوالہ کر سکتے ہیں بتایا کہ رہے ہیں
پی ایس
ایک بار پھر.
ہم یہ پہلے سے والدین کے عمل کے نام سے مماثل دیکھیں. مندرجہ ذیل کے طور پر والدین کے عمل کو قتل کرنے کے لئے، کو مار ڈالو کمانڈ کے ساتھ SIGKILL آپشن استعمال کرتے ہیں:
مارنے -SIGKILL 7636
والدین کے عمل کے مالک پر منحصر ہے، آپ کو بھی استعمال کرنے کی ضرورت ہو سکتی ہے
سودو
.
زومبی ڈراونا نہیں ہیں ...
... وہ ایک بڑے پیمانے پر بھیڑ میں ہیں جب تک. چند بارے میں فکر اور ایک سادہ ربوٹ ان کو نابود کرنے کے لئے کچھ نہیں ہیں.
تاہم، اگر آپ محسوس کریں ایک درخواست یا عمل ہمیشہ zombies کو انڈجنن ہے کہ تو، یہ ہے کہ آپ پر غور کرنا چاہئے کچھ ہے. اس کی سب سے زیادہ ہونے کا امکان صرف ایک sloppily لکھا پروگرام ہے، جس صورت میں، شاید وہاں ایک جدید ترین ورژن اس بچے کے عمل کے بعد کہ مناسب طریقے سے صاف ہے.