ان لینکس کمانڈز کا استعمال کرتے ہوئے غلط برتاؤ کرنے والے عمل کو زبردستی چھوڑ دیں۔
آسان الفاظ میں 'عمل' کے معنی کی وضاحت کرنا یہ ہے کہ یہ آپ کے سسٹم پر کسی بھی ایپلیکیشن یا پروگرام کی چل رہی مثال ہے۔ ہوسکتا ہے کہ آپ بیک وقت متعدد ایپلی کیشنز چلا رہے ہوں جیسے براؤزنگ، اپنے ٹرمینل پر کام کرنے والی موسیقی سننا وغیرہ۔ ان ایپلی کیشنز کے ساتھ بہت سے بیک گراؤنڈ پروسیس منسلک ہیں جو صارف چلاتے ہیں۔
ہر ایپلیکیشن یا پروگرام جو آپ کے سسٹم پر چلتا ہے آپ کی ایک ایپلی کیشن سے وابستہ متعدد پروسیس بناتا ہے۔ بعض اوقات یہ ایک مسئلہ ہوسکتا ہے اور ان عملوں سے چھٹکارا حاصل کرنا آپ کے پاس واحد آپشن ہے۔
ایک عمل کو 'قتل کرنا' ایک مفید آپشن ہے جو لینکس آپ کو جاری عمل کو روکنے کے لیے فراہم کرتا ہے، چاہے وہ پیش منظر کا عمل ہو یا پس منظر کا عمل۔ اس آرٹیکل میں، ہم جیسے کمانڈز کا جائزہ لیں گے۔ مار ڈالو
, pkill
اور قاتل
سسٹم پر کسی بھی عمل کو زبردستی چھوڑنے کے لیے۔
ایک عمل کو کیوں مارا؟
اس ٹیوٹوریل میں آگے بڑھنے سے پہلے کسی عمل کو ختم کرنے کے تصور کو سمجھنا ضروری ہے۔ قتل تصور کو ظاہر کرنے کا ایک بہت ہی ظالمانہ طریقہ معلوم ہو سکتا ہے، لیکن علامتی طور پر اس کا مطلب یہ ہے کہ کسی عمل کو زبردستی روکنا ہے۔
اب، کیوں جاری عمل کو روکیں یا چھوڑیں؟ جب ایک سے زیادہ عمل پس منظر میں چل رہے ہوتے ہیں، تو ان میں سے سبھی یا چند خرابی کا شکار ہو سکتے ہیں اور آپ کے سسٹم کو خراب کرنے کا سبب بن سکتے ہیں۔ اس سے آپ کے جاری کاموں میں تاخیر ہوتی ہے کیونکہ خرابی کا عمل آپ کے سسٹم کو کچھ دیر کے لیے منجمد کر سکتا ہے۔
کبھی کبھی، آپ کے سسٹم پر معمول کو بحال کرنے کا واحد آپشن لگتا ہے کہ تمام غلط رویہ کے عمل کو چھوڑنا۔ لینکس آپ کو استعمال کرتے ہوئے ایک عمل کو ختم کرنے کی اجازت دیتا ہے۔ pid
یا عمل کا نام۔
کا استعمال کرتے ہوئے pgrep
کمانڈ
لینکس کے زیادہ تر صارفین اس سے واقف ہیں۔ grep
کمانڈ. دی pgrep
کمانڈ کو اسی طرح کی خطوط پر استعمال کیا جاسکتا ہے۔ grep
.
pgrep
کمانڈ استعمال ہونے پر، دکھاتا ہے۔ pid
چلانے کے عمل کا جیسا کہ کمانڈ میں بیان کیا گیا ہے۔ استعمال کرتے وقت یہ کمانڈ بہت مددگار ثابت ہوگی۔ pkill
کمانڈ.
عمومی نحو:
pgrep [اختیارات] [پیٹرن]
کے ساتھ دستیاب اہم اختیارات pgrep
کمانڈ
اختیار | تفصیل |
-u | فہرست عمل کی شناخت ایک مخصوص صارف کی ملکیت ہے۔ |
-c | مماثل عمل کی تعداد شمار کریں۔ |
-میں | صرف عمل کے ناموں کی فہرست بنائیں |
-a | عمل کے نام کے پورے راستے کی فہرست بنائیں |
کے استعمال کا مظاہرہ کرتے ہیں pgrep
ایک مثال کا استعمال کرتے ہوئے کمانڈ.
pgrep -u gaurav gnome
یہاں، ہم دیکھنا چاہتے ہیں pids
عمل gnome کا جو صارف 'gourav' کی ملکیت ہے۔ اختیار -u
آپ کو فہرست بنانے کی اجازت دیتا ہے۔ pids
ایک مخصوص صارف کی ملکیت کے عمل کا۔ اس صورت میں، صارف گورو.
آؤٹ پٹ:
gaurav@ubuntu:~$ pgrep -u gaurav gnome 1752 1755 1909 1922 2021 2576 4279 gaurav@ubuntu:~$
جیسا کہ ہم اس ٹیوٹوریل کے ساتھ آگے بڑھتے ہیں، pgrep
کمانڈ اس بات کی تصدیق کرنے میں ہماری مدد کرے گی کہ عمل ختم ہو گیا ہے یا ابھی بھی چل رہا ہے۔
آئیے اب کی طرف چلتے ہیں۔ pkill
حکم اور اس پر عمل درآمد۔
استعمال کرنا pkill
کمانڈ
آپ استعمال کر سکتے ہیں۔ pkill
عمل کا نام استعمال کرتے ہوئے عمل کو ختم کرنے کے لیے لینکس میں کمانڈ کریں۔ یہاں تک کہ اگر آپ کو معلوم نہیں ہے۔ pid
کچھ عمل کے، تب بھی آپ اس خاص عمل کو استعمال کرکے ختم کرسکتے ہیں۔ pkill
کمانڈ.
استعمال کرتے وقت عمل کو ان کے مکمل نام یا جزوی نام کے ساتھ بیان کیا جا سکتا ہے۔ pkill
کمانڈ. یہاں تک کہ اگر آپ عمل کا جزوی نام درج کرتے ہیں، pkill
کمانڈ تمام چلنے والے عمل کو اس مماثل نام سے مماثل کرے گا جو آپ نے کمانڈ میں درج کیا ہے۔
نحو:
pkill [options][process_name_pattern]
مثال:
آئیے استعمال کرتے ہوئے فی الحال چلنے والے عمل کو ظاہر کریں۔ سب سے اوپر
کمانڈ. آپ بھی استعمال کر سکتے ہیں۔ پی ایس
عمل کی فہرست کے لیے کمانڈ۔
سب سے اوپر
ٹاپ - 14:24:02 اوپر 3:12، 1 صارف، لوڈ اوسط: 0.29، 0.48، 0.58 ٹاسکس: کل 221، 1 دوڑنا، 172 سونا، 0 رکا، 1 زومبی %Cpu(s): 5.6 us، 1.0 sy , 0.0 ni, 92.9 id, 0.4 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem: 3928240 کل، 610456 مفت، 2233152 استعمال کیا گیا، 1084632 buff/cache KiB سویپ، 3482 کل مفت استعمال کیا گیا، 3488037480 1187268 فائدہ کو mem PID USER PR NI VIRT RES SHR S٪ CPU٪ MEM TIME + COMMAND 4077 گورو 20 0 3312128 673480 118360 ایس 19.6 17.1 15: 13.23 ویب مواد 3712 گورو 20 0 3953008 453544 116476 ایس 4.0 11.5 9: 28،39 MainThread 2010 گورو 20 0 4084232 111096 45024 ایس 1.7 2.8 3: 14.85 GNOME شیل 1197 روٹ 20 0 1039612 33704 22988 ایس 1.0 0.9 3: 04،42 Xorg 1426 couchdb 20 0 3772396 16908 2520 ایس 0.7 0.4 1: 50،83 beam.smp 3288 گورو 20 0 722480 25048 18272 S 0.7 0.6 0: 06،84 GNOME-terminal- 3915 گورو 20 0 2804900 231524 111228 0،7 5،9 0 S: 54،42 ویب مواد 4146 گورو 20 0 3017924 245304 120604 0،7 6،2 2 S: 01،21 ویب مواد 4417 گورو 20 0 2964208 234396 119160 ایس 0.7 6.0 0 :59.90 ویب مواد 4860 gaurav 20 0 3066800 372920 132544 S 0.7 9.5 0:48.20 ویب مواد 16007 gaurav 20 0 41944 3780 0 0 41944 3780 311700: ٹاپ۔
استعمال کرنا سب سے اوپر
کمانڈ آپ کے ٹرمینل پر متعدد عمل دکھائے گا۔ آئیے ایک خاص نام کے ساتھ عمل کو ظاہر کرنے کی کوشش کرتے ہیں۔ ہم استعمال کریں گے۔ grep
ایک ایسے عمل کو ظاہر کرنے کی کمانڈ جس کا نام سٹرنگ 'mongo' سے میل کھاتا ہے۔
سب سے اوپر | grep -i mongo
نوٹ: یہاں، میں نے سرچ کیس کو غیر حساس بنانے کے لیے -i آپشن استعمال کیا ہے۔
اس کمانڈ کا آؤٹ پٹ 'منگو' نام سے ملنے والے عمل کو ظاہر کرے گا۔
1158 mongodb 20 0 288564 4848 1320 ایس 0.7 0.1 1: 03،22 mongod 1158 mongodb 20 0 288564 4848 1320 ایس 1.0 0.1 1: 03،25 mongod 1158 mongodb 20 0 288564 4848 1320 ایس 0.7 0.1 1: 03،27 mongod 1158 mongodb 20 0 288564 4848 1320 S 0.7 0.1 1: 03،29 mongod 1158 mongodb 20 0 288564 4848 1320 ایس 0.7 0.1 1: 03،31 mongod 1158 mongodb 20 0 288564 4848 1320 ایس 0.7 0.1 1: 03،33 mongod 1158 mongodb 20 0 288564 4848 1320 ایس 1.0 0.1 1: 03،36 mongod 1158 mongodb 20 0 288564 4848 1320 ایس 0.7 0.1 1: 03،38 mongod 1158 mongodb 20 0 288564 4848 1320 ایس 0.7 0.1 1: 03،40 mongod 1158 mongodb 20 0 288564 4848 1320 ایس 1.0 0.1 1: 03،43 mongod 1158 mongodb 20 0 288564 4848 1320 0.7 0.1 ایس 1: 03،45 mongod 1158 mongodb 20 0 288564 4848 1320 ایس 1.0 0.1 1: 03،48 mongod 1158 mongodb 20 0 288564 4848 1320 ایس 0.3 0.1 1: 03،49 mongod 1158 mongodb 20 0 288564 4848 1320 ایس 1.0 0.1 1: 03،52 mongod 1158 mongodb 20 0 288564 4848 1320 S 0.7 0.1 1:03.54 mongod 1158 mongodb 20 0 288564 4848 1320 S 1.0 0.1 1:03.57 mongod
اب، ہم استعمال کریں گے pkill
'منگو' نامی عمل کو ختم کرنے کا حکم۔
pkill mongo
یہ کمانڈ اب پروسیس منگو کو ختم کردے گی۔ ہم اس بات کی تصدیق کر سکتے ہیں کہ آیا اس عمل کو استعمال کرکے چھوڑنے پر مجبور کیا گیا ہے۔ pgrep
کمانڈ جو دکھاتا ہے۔ pid
صارف کے بیان کردہ معیار کے مطابق چلنے کے عمل کا۔
gaurav@ubuntu:~$ pgrep منگو gaurav@ubuntu:~$
یہ کمانڈ کوئی قدر نہیں لوٹائے گی۔ یہ اس بات کی تصدیق کرتا ہے کہ عمل 'منگو' کو اب استعمال کرکے مارا گیا ہے۔ pkill
کمانڈ.
کے ساتھ اکثر استعمال ہونے والے اختیارات pkill
کمانڈ
کا استعمال کرتے ہوئے pkill
کمانڈ کے مناسب اور آسان استعمال کے لیے ہمیں مذکورہ اختیارات کی ضرورت ہوگی۔ pkill
کمانڈ.
اختیارات | تفصیل |
-f | خالی جگہوں، اقتباسات، خصوصی حروف سمیت مکمل دلائل کے خلاف میچ کریں۔ |
-u | pkill کے عمل کو مطلع کرنے کے لیے مخصوص صارف کے ذریعے چلائے جانے والے عمل سے مماثل ہے۔ |
-1 | عمل کو دوبارہ لوڈ کرتا ہے۔ |
-9 | عمل کو مار ڈالتا ہے۔ |
-15 | احسن طریقے سے ایک عمل کو روکتا ہے۔ |
آئیے ایک اور مثال دیکھتے ہیں۔ pkill
کا استعمال کرتے ہوئے کمانڈ -f
اختیار
ٹرمینل پر فی الحال دو کمانڈز ہیں جیسا کہ ذیل میں دکھایا گیا ہے۔
پنگ بی بی سی ڈاٹ کام پنگ یوٹیوب ڈاٹ کام
دونوں عمل کی طرف سے شروع کر رہے ہیں پنگ
کمانڈ. اب، فرض کریں کہ ہم صرف ایک عمل "ping youtube.com" کو ختم کرنا چاہتے ہیں تو ہمیں استعمال کرنا ہوگا۔ -f
کے ساتھ آپشن pkill
کمانڈ جو ایک مخصوص نام کے ساتھ ایک عمل کو ختم کرتا ہے جس میں عمل کے نام سے خالی جگہیں اور حوالہ جات شامل ہیں۔
کمانڈ:
gaurav@ubuntu:~$ pkill -f "ping youtube.com" gaurav@ubuntu:~$
نتیجہ:
gaurav@ubuntu:~$ ping youtube.com PING youtube.com (142.250.67.206) 56(84) بائٹس ڈیٹا۔ bom12s08-in-f14.1e100.net (142.250.67.206) سے 64 بائٹس: icmp_seq=1 ttl=117 time=30.9 ms 64 بائٹس bom12s08-in-f14.1e100.net سے: =117 time=121 ms 64 بائٹس from bom12s08-in-f14.1e100.net (142.250.67.206): icmp_seq=206 ttl=117 time=86.5 ms 64 بائٹس bom12s08-in-f14.1e100.net سے ): icmp_seq=207 ttl=117 time=105 ms ختم شدہ gaurav@ubuntu:~$
یہاں، "youtube.com کو پنگ کریں۔
"عمل اب ختم ہو گیا ہے اور"پنگ bbc.com
” اب بھی ٹرمینل پر چل رہا ہے۔
صورت میں، اگر ہم نے استعمال کیا تھا pkill ping
کمانڈ، یہ دونوں کو مار ڈالا ہوگا پنگ
عمل، جو ناپسندیدہ ہے.
کے ساتھ استعمال ہونے والے سگنل pkill
کمانڈ
pkill
اس عمل کو ایک مخصوص سگنل بھیج کر عمل کو چھوڑنے پر مجبور کرتا ہے۔ تین ممکنہ سگنل ہیں جو pkill
کمانڈ اس عمل کو بھیج سکتی ہے جو صارف دیتا ہے۔
دستیاب سگنلز کی فہرست درج ذیل ہے۔
سگنل | تفصیلات |
1 (HUP ) | بیان کردہ عمل کو دوبارہ لوڈ کرتا ہے۔ |
9 (مار ڈالو ) | بیان کردہ عمل کو ختم کرتا ہے۔ |
15 (مدت ) | بیان کردہ عمل کو آہستہ سے روکتا ہے یا اسقاط کرتا ہے۔ |
اس ٹیوٹوریل کے لیے، ہم پر بہت زیادہ انحصار کریں گے۔ مار ڈالو
سگنل آئیے اس کو بہتر طور پر سمجھنے کے لیے کچھ مثالیں دیکھیں۔
کا استعمال کرتے ہوئے pgrep
حاصل کرنے کا حکم pid
نام اپاچی کے خلاف مماثل ہے۔
gaurav@ubuntu:~$ pgrep apache 1218 10402 10403 gaurav@ubuntu:~$
pkill - KIll apache
یا آپ نمبروں کے ساتھ کمانڈ بھی استعمال کر سکتے ہیں (مثلاً 1، 9، 15)
pkill -9 اپاچی۔
اوپر دکھائے گئے دونوں کمانڈ اپاچی کے عمل کو ختم کر دیں گے۔ کے ساتھ تصدیق کر رہا ہے۔ pgrep
دوبارہ حکم.
gaurav@ubuntu:~$ pgrep apache gaurav@ubuntu:~$
کے طور پر pgrep
کمانڈ کوئی آؤٹ پٹ نہیں لوٹاتا ہے، یہ ثابت کرتا ہے کہ اپاچی کا عمل ختم ہو گیا ہے۔
نتیجہ
اس ٹیوٹوریل میں، ہم نے اس کے بارے میں سیکھا۔ pkill
کمانڈ اور اس کا استعمال براہ راست عمل کا نام استعمال کرتے ہوئے عمل کو ختم کرنے کے لئے کیا جاتا ہے۔ ہم نے کے بارے میں بھی سیکھا۔ pgrep
کمانڈ جو کسی مخصوص صارف کے ذریعے چلائے جانے والے عمل کی پراسیس آئی ڈی کو حاصل کرنے کے لیے استعمال کیا جاتا ہے۔ دی pgrep
کمانڈ ہمیں کراس چیک کرنے کی اجازت دیتا ہے کہ آیا عمل ختم ہو گیا ہے۔