غیر ضروری تاخیر کے بغیر باش میں کمانڈ کا ٹائم آؤٹ کیسے کریں۔

Ghyr Drwry Takhyr K Bghyr Bash My Kman Ka Aym Aw Kys Kry



Bash میں، بعض اوقات آپ کو ایک کمانڈ چلانے کی ضرورت پڑ سکتی ہے جس کے مکمل ہونے میں کافی وقت لگتا ہے، اور ہو سکتا ہے کہ آپ اسے غیر معینہ مدت تک ختم ہونے کا انتظار نہ کرنا چاہیں۔ اس مسئلے کا ایک حل ٹائم آؤٹ کمانڈ کا استعمال کرنا ہے جو کمانڈ کے چلنے کے وقت کو محدود کرتا ہے۔ یہ مضمون، غیر ضروری تاخیر کے بغیر باش میں کمانڈ کو ٹائم آؤٹ کرنے کے طریقے پر بحث کرے گا۔

باش میں کمانڈ کا ٹائم آؤٹ

باش میں کمانڈ کو ٹائم آؤٹ کرنے کے لیے، ہم استعمال کر سکتے ہیں۔ 'وقت ختم' کمانڈ. 'ٹائم آؤٹ' کمانڈ تمام سسٹمز پر بطور ڈیفالٹ دستیاب نہیں ہے، لیکن اسے زیادہ تر لینکس ڈسٹری بیوشنز پر پیکیج مینیجر کا استعمال کرتے ہوئے انسٹال کیا جا سکتا ہے، یہاں 'ٹائم آؤٹ' کمانڈ کا نحو ہے:







وقت ختم [ آپشن ] DURATION کمانڈ [ اے آر جی ]


یہاں 'OPTION' ایک اختیاری دلیل ہے جو ٹائم آؤٹ کمانڈ کے رویے کی وضاحت کرتی ہے، 'DURATION' کمانڈ کے چلانے کے لیے وقت کی حد ہے، اور 'COMMAND [ARG]' کمانڈ اور اس کے دلائل ہیں جنہیں ہم چلانا چاہتے ہیں۔



مثال کے طور پر، ہم کہتے ہیں کہ ہم 'sleep' کمانڈ کو پانچ سیکنڈ کے لیے چلانا چاہتے ہیں، لیکن ہم کمانڈ کو تین سیکنڈ کے بعد ٹائم آؤٹ کرنا چاہتے ہیں اور شیل اسکرپٹ کی مثال یہ ہے:



#!/bin/bash
بازگشت '3 سیکنڈ کے ٹائم آؤٹ کے ساتھ سلیپ کمانڈ شروع کر رہا ہے...'
ٹائم آؤٹ 3s سونا 5s
بازگشت 'نیند کا حکم ختم ہوا۔'


یہاں میں نے ٹائم آؤٹ کا دورانیہ 3 سیکنڈ اور 'sleep' کمانڈ کا دورانیہ 5 سیکنڈ بتایا ہے۔ 'ٹائم آؤٹ' کمانڈ 3 سیکنڈ کے بعد 'نیند' کمانڈ کو روک دے گی، اگرچہ 'نیند' کمانڈ عام طور پر 5 سیکنڈ تک چلے گی۔






'ٹائم آؤٹ' کمانڈ استعمال کرتے وقت غیر ضروری تاخیر کو روکنے کے لیے، ہم '-k' آپشن استعمال کر سکتے ہیں۔ '-k' اختیار ایک سگنل کی وضاحت کرتا ہے جو کمانڈ کو بھیجا جائے گا اگر یہ ٹائم آؤٹ کی حد سے تجاوز کرتا ہے۔ اس سگنل کی وجہ سے کمانڈ فوری طور پر ختم ہو جائے گی، بجائے اس کے کہ اس کے شاندار طریقے سے ختم ہو جائے۔

مثال کے طور پر، ہم کہتے ہیں کہ ہم 'sleep' کمانڈ کو پانچ سیکنڈ کے لیے چلانا چاہتے ہیں، لیکن ہم کمانڈ کو تین سیکنڈ کے بعد ٹائم آؤٹ کرنا چاہتے ہیں اور SIGINT سگنل بھیجنا چاہتے ہیں اگر یہ ٹائم آؤٹ کی حد سے تجاوز کر جائے۔ ہم درج ذیل کمانڈ کو چلا کر ایسا کر سکتے ہیں۔



#!/bin/bash
بازگشت '3 سیکنڈ کے ٹائم آؤٹ کے ساتھ سلیپ کمانڈ شروع کرنا اور 2 سیکنڈ کے بعد SIGINT سگنل'
ٹائم آؤٹ -k 2s 3s نیند 5s
گونج'
سونا کمانڈ ختم '


یہاں میں نے ٹائم آؤٹ کا دورانیہ 3 سیکنڈ اور سگنل کو SIGINT کے طور پر بھیجا ہے اگر یہ ٹائم آؤٹ کی حد سے تجاوز کرتا ہے۔ '-k 2s' آپشن بتاتا ہے کہ SIGINT سگنل ٹائم آؤٹ کی حد کے دو سیکنڈ کے بعد بھیجا جانا چاہیے۔

نتیجہ

باش میں کمانڈ ٹائم آؤٹ ایک مفید ٹول ہے جو آپ کو کمانڈز کو زیادہ موثر طریقے سے چلانے اور غیر ضروری تاخیر کو روکنے میں مدد فراہم کرتا ہے۔ 'ٹائم آؤٹ' کمانڈ اور '-k' آپشن کا استعمال کرتے ہوئے، آپ کمانڈ کے چلنے کے وقت کی مقدار کو محدود کر سکتے ہیں اور اگر یہ ٹائم آؤٹ کی حد سے تجاوز کر جائے تو اسے فوری طور پر ختم کرنے کے لیے سگنل بھیج سکتے ہیں۔ اس سے آپ کو وقت بچانے اور اپنی اسکرپٹس کو زیادہ موثر طریقے سے چلانے میں مدد ملے گی۔