لینکس میں باش ویٹ کمانڈ۔

Bash Wait Command Linux



انتظار ایک لینکس کمانڈ ہے جو مکمل چلنے کے عمل کے انتظار کے بعد باہر نکلنے کی حیثیت لوٹاتا ہے۔ جب کئی عمل بیک وقت چل رہے ہوں تو انتظار کی کمانڈ صرف آخری کو ٹریک رکھ سکتی ہے۔ اگر ویٹ کمانڈ کسی نوکری یا پراسیس آئی ڈی سے وابستہ نہیں ہے ، تو یہ ایگزٹ سٹیٹس واپس کرنے سے پہلے تمام چائلڈ پروسیس کے مکمل ہونے کا انتظار کرے گا۔ bash wait کمانڈ اکثر پروسیس IDs یا Job IDs کمانڈ کے ساتھ استعمال ہوتا ہے۔

اس ٹیوٹوریل میں ، ہم لینکس میں باش ویٹ کمانڈ کو تلاش کریں گے۔







نحو:

لینکس میں ویٹ کمانڈ کا عمومی نحو یہ ہے:



انتظار کریں [آپشن] ID۔

آئی ڈی ایک پراسیس آئی ڈی یا جاب آئی ڈی ہوگی۔



لینکس میں باش ویٹ کمانڈ کی وضاحت:

سب سے پہلے ، ٹچ کمانڈ کا استعمال کرکے ایک فائل بنائیں:





$چھوناBashWait.sh

مندرجہ ذیل کمانڈ کا استعمال کرکے اس فائل کو قابل عمل بنائیں:



$chmod+x فائل کا نام۔

ایک بار جب فائل کو قابل عمل مراعات مل جاتی ہیں ، فائل کھولیں اور بش فائل میں اسکرپٹ لکھیں:

#!/bin/bash

نیند &

processID=$!

باہر پھینک دیا پی آئی ڈی:$ processID۔'

انتظار کرو $ processID۔

باہر پھینک دیا 'باہر نکلنے کی حالت: $؟'

$! BASH میں ایک متغیر ہے جو کہ PID کو حالیہ عمل کا ذخیرہ کرتا ہے۔

اب ، اسکرپٹ کو اس طرح چلائیں:

$./فائل کا نام

$./BashWait.sh

پروسیس ID اور Exist status شیل میں ظاہر ہوگا۔

optionn آپشن کا استعمال:

optionn آپشن کے ساتھ ، ویٹ کمانڈ صرف ایک ہی نوکری کا انتظار کرتی ہے جو فراہم کردہ پروسیس آئی ڈی یا نوکری کی تفصیلات سے باہر نکلنے سے پہلے ختم ہو جاتی ہے۔ ویٹ -این کسی بھی پس منظر کی نوکری کے ختم ہونے کا انتظار کرتا ہے اور اگر کوئی دلیل فراہم نہیں کی جاتی ہے تو نوکری سے باہر نکلنے کی حیثیت لوٹاتا ہے۔

اپنی اسکرپٹ میں نیچے دی گئی لائنیں لکھیں:

#!/bin/bash

نیند 30۔ &

نیند &

نیند &

انتظار کرو

باہر پھینک دیا 'پہلا کام مکمل ہو گیا ہے۔'

انتظار کرو

باہر پھینک دیا 'تمام نوکریاں مکمل ہو چکی ہیں۔'

اگلا ، اسکرپٹ کو دوبارہ چلائیں اور جب پہلا کام مکمل ہوجائے تو یہ پیغام کو ٹرمینل پر پرنٹ کرے گا اور دیگر تمام کاموں کے مکمل ہونے کا انتظار کرے گا۔

–f آپشن کا استعمال:

-f آپشن ایگزٹ کوڈ واپس کرنے سے پہلے ہر پروسیس آئی ڈی یا جاب کے رکنے کا انتظار کرتا ہے۔ جاب کنٹرول صرف بطور ڈیفالٹ جوابی اشاروں کے لیے دستیاب ہے۔

ٹرمینل کھولیں اور کمانڈ چلائیں:

عمل 3944 کا انتظار کریں۔

ایک مختلف ٹرمینل ونڈو کھولیں اور عمل کو ختم کرنے کے لیے کِل کمانڈ پر عمل کریں۔

سٹیٹس کو تبدیل کیا جائے گا۔ ویٹ کمانڈ مکمل ہو جائے گی اور پروسیس ایگزٹ کوڈ واپس کر دے گی۔

–f کمانڈ کے ساتھ اوپر دیئے گئے اقدامات دہرائیں۔

انتظار کمانڈ کے ساتھ سکرپٹ:

ہم مظاہرے کے لیے 'hello.sh' اور 'bash.sh' سکرپٹ استعمال کر رہے ہیں۔ 'hello.sh' اسکرپٹ 1 سے 5 تک نمبر پرنٹ کرتا ہے ، اور 'bash.sh' اسکرپٹ hello.sh کو کال کرتا ہے اور اسے پس منظر میں چلاتا ہے ، hello.sh کا PID رکھتا ہے اور اس کے ختم ہونے کا انتظار کرتا ہے۔

ہیلو اور بش نام کے ساتھ دو سکرپٹ بنائیں:

hello.sh فائل میں نیچے دی گئی لائنیں شامل کریں:

#!/bin/bash

کے لیےمیںمیں 10۔

کیا

باہر پھینک دیاhello.sh - لوپ نمبر۔$ i.

ہو گیا

بش اسکرپٹ میں نیچے دی گئی لائنیں شامل کریں:

#!/bin/bash

باہر پھینک دیاbash.sh شروع کیا۔

باہر پھینک دیاhello.sh شروع کیا۔

./hello.sh&

process_id=$!

انتظار کرو $ process_id۔

باہر پھینک دیاhello.sh مکمل

آؤٹ پٹ:

نتیجہ:

جب کوئی صارف کسی عمل کو روکنا چاہتا ہے تو ، نظام اس عمل کے ذریعے رکھے ہوئے تمام وسائل جاری کرتا ہے اور دوسرے کے شروع ہونے کا انتظار کرتا ہے۔ ہمیں اس عمل کو مطلع کرنے کی ضرورت ہوگی کہ دوسرے عمل مکمل ہونے کے بعد یہ عملدرآمد دوبارہ شروع کر سکتا ہے۔ bash میں ویٹ کمانڈ عملدرآمد مکمل ہونے کا انتظار کرتی ہے اور عملدرآمد مکمل ہونے پر باہر نکلنے کی حیثیت لوٹاتی ہے۔ اس دستی میں ، ہم نے لینکس میں باش ویٹ کمانڈ کی کچھ مثالیں دیکھی ہیں۔