لینکس میں کسی عمل کو کیسے مارا جائے۔

How Kill Process Linux



ہر لینکس آپریٹنگ سسٹم کیل کمانڈ کے ساتھ آتا ہے۔ اس ٹول کا واحد مقصد ہدف کے عمل کو ختم کرنا ہے۔ یہ ایک طاقتور ٹول ہے جو لینکس کو کافی ورسٹائل بناتا ہے ، خاص طور پر سرور اور انٹرپرائز فیلڈز میں جہاں ایک بڑی تبدیلی/اپ ڈیٹ پوری مشین کو دوبارہ شروع کیے بغیر اثر انداز ہو سکتی ہے۔ اس آرٹیکل میں ، میں دکھاؤں گا کہ کس طرح کسی عمل کو استعمال کرنا ہے۔ مار ڈالو ، pkill اور قاتل .

ایک عمل کو قتل کرنا۔

کسی عمل کو ختم کرنے کے لیے ، ہم مٹھی بھر ٹولز استعمال کریں گے: مار ڈالو ، pkill ، اور قاتل . یہ سب بنیادی طور پر ایک ہی طریقے سے کام کرتے ہیں۔







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



یہاں کمانڈ کا بنیادی ڈھانچہ ہے۔ مار ڈالو ، pkill اور قاتل .



$مار ڈالو <سگنل یا اختیارات> <پی آئی ڈی(s)>
$ pkill<سگنل یا اختیارات> <عمل نام۔>
$قاتل <اختیار> <عمل نام۔>

جب بھی ممکن ہو ، اسے استعمال کرنے کی سفارش کی جاتی ہے۔ مار ڈالو .





مار ڈالو۔ ، pkill اور قاتل مقامات

قتل ایک عمل کو ختم کرنے کے لیے ڈیفالٹ کمانڈ ہے۔



$مار ڈالو --مدد

یہ /usr /bin ڈائریکٹری سے چلتا ہے۔

$کونسا مار ڈالو

فائدہ یہ ہے کہ ، یہ pkill تک رسائی کی بھی اجازت دیتا ہے ، قتل کی طرح ایک اور کمانڈ جو ان کے نام کی بنیاد پر عمل ختم کرنے کی اجازت دیتی ہے۔

$pkill--مدد

$کونساpkill

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

$قاتل --مدد

$کونسا قاتل

تمام چلنے والے عمل کی فہرست۔

پہلا کام پی آئی ڈی (عمل شناختی نمبر) اور/یا عمل کے نام کی شناخت کرنا ہے جسے آپ ختم کرنا چاہتے ہیں۔ اس مثال کے لیے ، میں فائر فاکس کو ختم کرنے کے لیے ہدف کے عمل کے طور پر استعمال کروں گا۔ سسٹم پر چلنے والے تمام عمل کی فہرست کے لیے درج ذیل کمانڈ چلائیں۔

$پی ایس -تو

زیادہ تر کاموں کے لیے ، ہمیں ہدف کے عمل کی PID جاننے کی ضرورت ہے۔ تاہم ، بعض حالات میں ، عمل کا نام استعمال کرنا زیادہ موزوں ہے۔

اگر آپ ہدف کے عمل کا صحیح نام جانتے ہیں تو آپ براہ راست پی آئی ڈی کا استعمال کر سکتے ہیں۔ pidof .

$pidof <عمل نام۔>

ہدف کے عمل کے بارے میں معلومات حاصل کرنے کا ایک اور دلچسپ ٹول pgrep ہے۔ یہ خاص طور پر اس مقصد کے لیے بنایا گیا ہے۔

$pgrep<اختیار> <عمل نام۔>

سگنلز کو مار ڈالو۔

اب ، آئیے ان سگنلز پر ایک نظر ڈالتے ہیں جن کو مارنے کے اوزار مدد کرتے ہیں۔ یہ ایک بہت بڑی فہرست ہے۔ یقینا ، یہ سب ایک ہی صورتحال کے لیے ضروری نہیں ہیں۔ در حقیقت ، بیشتر حالات میں صرف مٹھی بھر اشاروں کی ضرورت ہوتی ہے۔

سب سے پہلے ، آئیے اس فہرست پر ایک نظر ڈالتے ہیں جو قتل کی حمایت کرتی ہے۔

$مار ڈالو -

اس بات کی وضاحت کرنے کے 2 طریقے ہیں کہ آپ کون سا سگنل بھیجنا چاہتے ہیں۔ آپ یا تو مکمل سگنل کا نام یا اس کی مساوی قیمت استعمال کر سکتے ہیں۔

$مار ڈالو-<سگنل> <پی آئی ڈی>

یا ،

$مار ڈالو-<سگنل کی قیمت> <پی آئی ڈی>

سب سے زیادہ مشہور سگنل SIGHUP (1) ، SIGKILL (9) اور SIGTERM (15) ہیں۔ عام طور پر ، SIGTERM ہدف کے عمل کو ختم کرنے کا پہلے سے طے شدہ اور محفوظ ترین طریقہ ہے۔

pkill کے معاملے میں ، معاون سگنل قتل کی طرح ہے۔ تاہم ، کلیل کے معاملے میں ، معاون سگنل کی تعداد اور سگنل کے نام مختلف ہیں۔

$قاتل -

ایک عمل کو قتل کرنا۔

کسی عمل کو ختم کرنے کے لیے ، ہمیں اس ہدف کے عمل کی PID کی ضرورت ہوتی ہے۔ یہ فرض کرتے ہوئے کہ آپ کے پاس پی آئی ڈی ہے ، اسے مارنے کے لیے درج ذیل کمانڈ چلائیں۔

$مار ڈالو <اختیار> <پی آئی ڈی>

یہاں ، KIL ڈیفالٹ سگنل سگنل PID (ے) کو بھیج دے گا۔ اگر آپ ایک سے زیادہ عمل ختم کرنا چاہتے ہیں تو پھر تمام PIDs کا ذکر کریں جو کہ جگہ سے الگ ہیں۔

$مار ڈالو <اختیار> <PID_1۔> <PID_2۔>

آئیے بتائیں کہ آپ کون سا سگنل ہدف پر بھیجنا چاہتے ہیں۔

کسی عمل کو صرف اس کا نام استعمال کرتے ہوئے ختم کرنا چاہتے ہیں؟ pkill استعمال کریں۔

$pkill<اختیار> <عمل نام۔>

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

$قاتل <اختیار> <عمل نام۔>

مثال کے طور پر ، فائر فاکس چلاتے وقت ، یہ مٹھی بھر عمل شروع کرتا ہے۔ ان سب کو ایک ساتھ مارنے کے لیے ، یہ کمانڈ چلائیں۔

$قاتلفائر فاکس

ایک خاص صارف کے تحت چلنے والے تمام عمل کو ختم کرنا چاہتے ہیں؟ Killall کام کر سکتا ہے ، کوئی مسئلہ نہیں۔ اس کو چلاتے وقت محتاط رہیں کیونکہ یہ نظام کو توڑ سکتا ہے اور دیگر مسائل پیدا کرسکتا ہے۔ یہ کام نہیں کرے گا اگر آپ ایسے عمل کو ختم کرنے کی کوشش کر رہے ہیں جو مختلف صارف کے تحت اعلی استحقاق کے ساتھ چل رہے ہیں۔

$قاتل <صارف>

اجازت کا تنازعہ۔

لینکس صارف کے درجہ بندی کی موروثی خصوصیات بھی لاگو ہوتی ہیں جب آپ کسی ایپلی کیشن کو ختم کرنے والے ہیں۔ ایک صارف اعلی مراعات کے ساتھ چلنے والے عمل کو ختم نہیں کر سکتا ، صرف مساوی/کم استحقاق کے ساتھ عمل۔ مزید یہ کہ ، ایک صارف ان عملوں میں ہیرا پھیری نہیں کرسکتا جو مختلف صارف کے تحت چل رہے ہیں۔

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

$مار ڈالو جی ہاں

اب ، اگر کیا۔ جی ہاں کے نیچے چل رہا تھا۔ جڑ ؟ موجودہ صارف کے طور پر قتل کو کال کرنا کام نہیں کرے گا۔

اسی طرح ، اگر کوئی عمل دوسرے صارف کے تحت چل رہا تھا ، تو آپ اسے کسی دوسرے صارف کے اکاؤنٹ سے ختم نہیں کر سکتے۔

حتمی خیالات۔

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

$آدمی مار ڈالو

$آدمیpkill

لطف اٹھائیں!