پس منظر میں لینکس کمانڈ کو کیسے شروع کریں اور ٹرمینل میں عمل کو الگ کریں۔

Ps Mnzr My Lynks Kman Kw Kys Shrw Kry Awr Rmynl My Ml Kw Alg Kry



اس گائیڈ میں، ہم سیکھیں گے کہ کس طرح پس منظر میں کمانڈ چلانا ہے اور ٹرمینل سے عمل کو کیسے الگ کرنا ہے۔

شرائط:

اس گائیڈ میں اقدامات کرنے کے لیے، آپ کو درج ذیل اجزاء کی ضرورت ہے:

  • ایک فعال لینکس سسٹم۔ متعلق مزید پڑھئے ورچوئل باکس پر اوبنٹو VM ترتیب دینا .
  • تک رسائی a سوڈو کی اجازت کے ساتھ غیر جڑ صارف .

ٹرمینل سے عمل کو چلانا

جب بھی کوئی کمانڈ چلاتے ہیں، عمل ٹرمینل کے نیچے پیدا ہوتے ہیں۔ اگر ٹرمینل بند ہو جائے تو تمام متعلقہ عمل خود بخود ختم ہو جاتے ہیں۔ بعض حالات میں، یہ تکلیف دہ ہو سکتا ہے۔ مثال کے طور پر:







  • آؤٹ پٹ ڈیٹا اور غلطی/تشخیصی پیغامات کی بہت زیادہ مقدار
  • ٹرمینل کی حادثاتی طور پر بندش جس کے نتیجے میں ممکنہ طور پر مشن کے لیے اہم عمل وغیرہ ختم ہو جاتے ہیں۔

ان مسائل سے نمٹنے کے لیے، چند اختیارات ہیں:



  • پس منظر میں عمل کو چلانا
  • ٹرمینل سے عمل کو الگ کرنا

پس منظر میں چلنے والے عمل ٹرمینل آؤٹ پٹ کو مغلوب نہیں کریں گے۔ مزید یہ کہ ٹرمینل اضافی کمانڈز چلانے کے لیے آزاد ہے۔ علیحدہ عمل کے لیے، وہ ختم نہیں ہوں گے چاہے ٹرمینل بند ہو۔



پس منظر میں عمل شروع کرنا

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





ظاہر کرنے کے لیے، ہم 'yes' کمانڈ استعمال کرتے ہیں:

$ آدمی جی ہاں



طریقہ 1:

کچھ ایسے طریقے ہیں جہاں ہم چلتے ہوئے عمل کو پس منظر میں بھیج سکتے ہیں۔

سب سے پہلے، ہم عمل کو ختم کیے بغیر روک دیتے ہیں۔ ایسا کرنے کے لیے، درج ذیل کمانڈ کو چلائیں اور 'Ctrl + Z' دبائیں:

$ جی ہاں 'ہیلو دنیا' > / دیو / خالی

اب، عمل کو پس منظر میں بھیجنے کے لیے 'bg' کمانڈ چلائیں:

$ bg

ایک بار پس منظر میں دھکیلنے کے بعد، عمل دوبارہ شروع ہوتا ہے. درج ذیل کمانڈ پس منظر میں چلنے والی تمام ملازمتوں کی فہرست دیتی ہے۔

$ نوکریاں

طریقہ 2:

پچھلے طریقہ میں، عمل سب سے پہلے پیش منظر میں چلنا شروع ہوا. ہم نے اس عمل کو روک دیا، اسے پس منظر میں بھیج دیا، پھر اسے دوبارہ شروع کیا۔ اس کے بجائے، ہم اس عمل کو براہ راست پس منظر میں چلا سکتے ہیں۔

ایسا کرنے کے لیے، کمانڈ کے آخر میں '&' کا نشان شامل کریں:

$ جی ہاں 'اوہ لانگ جانسن' > / دیو / خالی اور

یہاں، پیدا ہونے والے عمل خود بخود پس منظر میں چلتے ہیں۔ تصدیق کرنے کے لیے، پس منظر کی نوکریوں کی فہرست چیک کریں:

$ نوکریاں

طریقہ 3:

کی مدد سے ہم بیک گراؤنڈ میں بھی عمل شروع کر سکتے ہیں۔ tmux ، ایک طاقتور ملٹی پلیکسر جو ایک ونڈو کے اندر متعدد ٹرمینل سیشنز کا انتظام کر سکتا ہے۔ یہ لینکس میں پہلے سے انسٹال نہیں ہوتا ہے۔ تاہم، یہ تمام بڑے لینکس ڈسٹرو کے لیے دستیاب ہے۔ متعلق مزید پڑھئے لینکس پر tmux انسٹالیشن .

درج ذیل مثال میں، ہم ایک ہدف کو پنگ کرنے اور آؤٹ پٹ کو لاگ کرنے کے لیے tmux کا استعمال کرتے ہیں:

$ tmux نیا -d 'ping -c 9 127.0.0.1 > ping.log'

لاگ فائل اس بات کی تصدیق کرتی ہے کہ آیا کمانڈ کامیابی سے چلتی ہے یا نہیں:

$ کیٹ ping.log

یہ صرف ایک مثال ہے کہ tmux کیا کرسکتا ہے۔ متعلق مزید پڑھئے tmux مثالوں کے ساتھ .

ملازمتوں کو پیش منظر میں واپس کرنا

اگر آپ کسی کام کو پیش منظر میں واپس کرنا چاہتے ہیں، تو ہم 'fg' کمانڈ استعمال کرتے ہیں۔ ہمیں جابس کمانڈ سے جاب نمبر کی بھی ضرورت ہے۔

سب سے پہلے، اس کام کا تعین کریں جسے آپ پیش منظر میں لانا چاہتے ہیں:

$ نوکریاں

اب، 'fg' کمانڈ استعمال کریں:

$ fg %< جاب نمبر >

ٹرمینل سے عمل کو الگ کرنا

ٹرمینل کے بند ہونے کے بعد ٹرمینل سے وابستہ کوئی بھی عمل ختم ہو جاتا ہے، چاہے وہ پیش منظر میں چل رہا ہو یا پس منظر میں۔ عمل کے خاتمے سے بچنے کے لیے، ہم ہدف کے عمل کو ٹرمینل/شیل سے الگ کر دیتے ہیں۔

طریقہ 1:

کسی عمل کو مسترد کرنے کے لیے، ہمیں پہلے پس منظر کے عمل کی ضرورت ہے:

$ جی ہاں 'qwerty' > / دیو / خالی اور

پس منظر میں چلنے والی ملازمتوں کی فہرست چیک کریں:

$ نوکریاں

ٹارگٹ بیک گراؤنڈ جاب کا سیریل نمبر نوٹ کریں۔ اب، اسے ٹرمینل سے الگ کرنے کے لیے 'disown' کمانڈ کا استعمال کریں:

$ انکار %< جاب نمبر >

ٹارگٹ جاب کو اب جاب لسٹ سے غائب ہونا چاہیے:

$ نوکریاں

تاہم، آپ اب بھی اس عمل کو پس منظر میں چلتے ہوئے دیکھ سکتے ہیں:

$ پی ایس کو

طریقہ 2:

پیرنٹ ٹرمینل سے کسی عمل کو الگ کرنے کا دوسرا طریقہ 'nohup' کمانڈ استعمال کرنا ہے۔ یہ ٹرمینل کو بند کرنے کے بعد بھی پس منظر میں ایک عمل کو جاری رکھتا ہے۔

'nohup' کا استعمال مندرجہ ذیل ہے:

$ nohup < کمانڈ > اور

تصدیق کریں کہ آیا کام کامیابی سے بن گیا ہے:

$ نوکریاں

طریقہ 3:

یہ طریقہ ہدف کے عمل کو مکمل طور پر الگ کرتا ہے۔ یہ GUI ایپس کو الگ کرنے کا ایک زیادہ مؤثر طریقہ ہے۔

مثال کے طور پر، فائر فاکس کو شروع کرنے اور اسے ٹرمینل سے مکمل طور پر الگ کرنے کے لیے، درج ذیل کمانڈ کا استعمال کریں:

$ فائر فاکس دیو / خالی &>/ دیو / خالی اور

یہاں:

  • دی /dev/null لینکس میں ایک خاص ڈیوائس ہے جو اس پر لکھے گئے کسی بھی ڈیٹا سے چھٹکارا پاتی ہے۔
  • پچھلی کمانڈ میں، ان پٹ کو پڑھا جاتا ہے اور آؤٹ پٹ کو بھیج دیا جاتا ہے۔ /dev/null . کے بارے میں مزید جانیں۔ /dev/null استعمال کرنے کے دوسرے طریقے .

نتیجہ

ہم نے پس منظر میں عمل کو چلانے کے مختلف طریقوں کا مظاہرہ کیا۔ ہم نے پیرنٹ ٹرمینل سے کسی عمل کو الگ کرنے کے طریقے بھی دکھائے۔ ٹرمینل کے ساتھ کام کرتے وقت یہ تکنیکیں کارآمد ہو سکتی ہیں یا ایک سکرپٹ چل رہا ہے .

اگر آپ کو مخصوص کمانڈز کو مخصوص پیٹرن میں چلانے کی ضرورت ہے، تو ہم اسے بطور آف لوڈ کرسکتے ہیں۔ سسٹمڈ سروس . ریموٹ مشینوں کے لئے، ہم تیسری پارٹی کے اوزار بھی استعمال کر سکتے ہیں جیسے تقریبا ہر چیز کو خودکار کرنے کے لئے جوابدہ .

مبارک کمپیوٹنگ!