Wait (system call)
کمپیوٹر آپریٹنگ سسٹمز میں، ایک عمل (یا ٹاسک) اپنے عمل کو مکمل کرنے کے لیے کسی دوسرے عمل کا انتظار کر سکتا ہے۔ زیادہ تر نظاموں میں، والدین کا عمل آزادانہ طور پر چلائے جانے والے بچے کے عمل کو تشکیل دے سکتا ہے۔ اس کے بعد پیرنٹ پروسیس ویٹ سسٹم کال جاری کر سکتا ہے، جو بچے کے عمل کے دوران پیرنٹ پروسیس کے عمل کو معطل کر دیتا ہے۔ جب چائلڈ کا عمل ختم ہو جاتا ہے، تو یہ آپریٹنگ سسٹم میں ایک ایگزٹ اسٹیٹس واپس کرتا ہے، جو پھر ویٹنگ پیرنٹ کے عمل میں واپس آ جاتا ہے۔ اس کے بعد پیرنٹ عمل دوبارہ شروع ہوتا ہے۔ جدید آپریٹنگ سسٹم سسٹم کالز بھی فراہم کرتے ہیں جو کسی عمل کے دھاگے کو دوسرے دھاگے بنانے کی اجازت دیتے ہیں اور اسی طرح ان کے ختم ہونے (ان میں شامل ہونے) کا انتظار کرتے ہیں۔ آپریٹنگ سسٹم ویٹ کال کی مختلف حالتیں فراہم کر سکتا ہے جو کسی عمل کو اس کے کسی بھی چائلڈ عمل کے باہر نکلنے کا انتظار کرنے، یا کسی ایک مخصوص چائلڈ عمل (اس کے عمل آئی ڈی کے ذریعے شناخت شدہ) کے باہر نکلنے کا انتظار کرنے کی اجازت دیتا ہے۔ کچھ آپریٹنگ سسٹم چائلڈ پروسیس ختم ہونے پر پیرنٹ پروسیس کو سگنل (SIGCHLD) جاری کرتے ہیں، پیرنٹ پروسیس کو مطلع کرتے ہیں اور اسے چائلڈ پروسیس کے باہر نکلنے کی حیثیت کو دوبارہ حاصل کرنے کی اجازت دیتے ہیں۔ بچے کے عمل کے ذریعے واپس آنے والی خارجی حیثیت عام طور پر اس بات کی نشاندہی کرتی ہے کہ آیا عمل عام طور پر ختم ہوا یا غیر معمولی طور پر۔ عام خاتمے کے لیے، اس حیثیت میں ایگزٹ کوڈ (عام طور پر ایک انٹیجر ویلیو) بھی شامل ہوتا ہے جو عمل سسٹم میں واپس آتا ہے۔ یونکس کے پہلے 20 سالوں کے دوران، ایگزٹ کوڈ کے صرف کم 8 بٹس انتظار کرنے والے والدین کے لیے دستیاب ہیں۔ 1989 میں ایس وی آر 4 کے ساتھ، ایک نیا کال ویٹیڈ متعارف کرایا گیا ہے جو اسٹرکچر ممبر سی _ اسٹیٹس میں سگنفو _ ٹی نامی ڈھانچے میں ایگزٹ کال سے تمام بٹس واپس کرتا ہے۔ ویٹیڈ 2001 سے پوزیکس معیار کا ایک لازمی حصہ ہے۔ زومبی اور یتیم جب بچے کا عمل ختم ہو جاتا ہے، تو یہ ایک زومبی عمل بن جاتا ہے، اور سسٹم پروسیس ٹیبل میں اندراج کے طور پر موجود رہتا ہے حالانکہ یہ اب فعال طور پر انجام دینے والا پروگرام نہیں ہے۔ عام آپریشن کے تحت یہ عام طور پر اس کے والدین کے ذریعہ فوری طور پر انتظار کیا جائے گا، اور پھر وسائل (پروسیس ٹیبل انٹری) کو دوبارہ حاصل کرتے ہوئے سسٹم کے ذریعہ کاٹا جائے گا۔ اگر کسی بچے کا اس کے والدین انتظار نہیں کرتے ہیں، تو وہ اس وسائل کو غیر معینہ مدت تک استعمال کرتا رہتا ہے، اور اس طرح وسائل کا رساو ہوتا ہے۔ اس طرح کے حالات کو عام طور پر ایک خصوصی "ریپر" عمل کے ساتھ سنبھالا جاتا ہے جو زومبیز کا پتہ لگاتا ہے اور ان کے باہر نکلنے کی حیثیت کو دوبارہ حاصل کرتا ہے، جس سے آپریٹنگ سسٹم کو اپنے وسائل کو مختص کرنے کی اجازت ملتی ہے۔ اس کے برعکس، ایک بچہ عمل جس کے والدین کا عمل ختم ہو جاتا ہے اس سے پہلے کہ یہ ایک یتیم عمل بن جائے۔ اس طرح کے حالات کو عام طور پر ایک خاص "جڑ" (یا "init") عمل کے ساتھ سنبھالا جاتا ہے، جسے کسی عمل کے نئے والدین کے طور پر تفویض کیا جاتا ہے جب اس کا بنیادی عمل باہر نکلتا ہے۔ یہ خصوصی عمل اس بات کا پتہ لگاتا ہے کہ یتیم عمل کب ختم ہوتا ہے اور پھر اس کے باہر نکلنے کی حیثیت کو دوبارہ حاصل کرتا ہے، جس سے نظام کو ختم شدہ چائلڈ کے عمل کو حذف کرنے کی اجازت ملتی ہے۔ اگر بچے کے عمل کو سگنل ملتا ہے، تو انتظار کرنے والا والدین پھر ایک یتیم عمل کو پیچھے چھوڑ کر پھانسی جاری رکھے گا۔ لہذا بعض اوقات ویٹ، ویٹ پیڈ یا ویٹ آئی ڈی کے ذریعہ مقرر کردہ دلیل کو چیک کرنے کی ضرورت ہوتی ہے اور، اگر WIFSIGNALED درست ہے تو، وسائل کو حذف کرنے کے لیے دوبارہ چائلڈ کے عمل کا انتظار کریں۔ ایگزٹ (سسٹم کال) فورک (سسٹم کال) اسپان (کمپیوٹنگ) ویٹ (کمانڈ) ریفرنسز پروسیس (کمپیوٹنگ) سی پوزیکس لائبریری سسٹم کالز بھی دیکھیں۔