লিনাক্সে নাম অনুসারে কীভাবে প্রক্রিয়াটি মেরে ফেলা যায়

এই লিনাক্স কমান্ডগুলি ব্যবহার করে অপব্যবহারকারী প্রক্রিয়াগুলি বন্ধ করুন৷

সহজ কথায় একটি 'প্রক্রিয়া' এর অর্থ ব্যাখ্যা করার জন্য এটি আপনার সিস্টেমে যেকোনো অ্যাপ্লিকেশন বা প্রোগ্রামের একটি চলমান উদাহরণ। আপনি হয়ত একসাথে একাধিক অ্যাপ্লিকেশন চালাচ্ছেন যেমন ব্রাউজিং, আপনার টার্মিনালে কাজ করা মিউজিক শোনা ইত্যাদি। এই অ্যাপ্লিকেশনগুলির সাথে যুক্ত অনেক ব্যাকগ্রাউন্ড প্রক্রিয়া রয়েছে যা ব্যবহারকারী দ্বারা চালিত হয়।

আপনার সিস্টেমে চলা প্রতিটি অ্যাপ্লিকেশন বা একটি প্রোগ্রাম আপনার একক অ্যাপ্লিকেশনের সাথে যুক্ত একাধিক প্রক্রিয়া তৈরি করে। কখনও কখনও এটি একটি সমস্যা হতে পারে এবং এই প্রক্রিয়াগুলি পরিত্রাণ পেতে আপনার কাছে একমাত্র বিকল্প।

একটি প্রক্রিয়া 'হত্যা' হল একটি কার্যকর বিকল্প যা চলমান প্রক্রিয়াগুলি বন্ধ করতে লিনাক্স আপনাকে প্রদান করে, এটি একটি অগ্রভাগ প্রক্রিয়া বা পটভূমি প্রক্রিয়া হোক। এই নিবন্ধে, আমরা যেমন কমান্ড পর্যালোচনা করব হত্যা, pkill এবং সব হত্যা করো একটি সিস্টেমে যেকোন প্রক্রিয়া বন্ধ করতে বাধ্য করা।

কেন একটি প্রক্রিয়া হত্যা?

এই টিউটোরিয়ালে এগিয়ে যাওয়ার আগে একটি প্রক্রিয়াকে হত্যা করার ধারণাটি বোঝা গুরুত্বপূর্ণ। ধারণাটি প্রকাশ করার জন্য হত্যা একটি অত্যন্ত নৃশংস উপায় বলে মনে হতে পারে, তবে এর রূপক অর্থ হল একটি প্রক্রিয়া জোরপূর্বক বাতিল করা।

এখন, কেন একটি চলমান প্রক্রিয়া বাতিল বা প্রস্থান? যখন ব্যাকগ্রাউন্ডে একাধিক প্রক্রিয়া চলছে, তখন সেগুলির সবকটি বা কয়েকটি ত্রুটিপূর্ণ হতে পারে এবং আপনার সিস্টেমকে খারাপ ব্যবহার করতে পারে। এটি আপনার চলমান কাজগুলিকে বিলম্বিত করে কারণ ত্রুটিপূর্ণ প্রক্রিয়া আপনার সিস্টেমকে কিছু সময়ের জন্য হিমায়িত করতে পারে।

কখনও কখনও, সমস্ত অপব্যবহারকারী প্রক্রিয়াগুলি ছেড়ে দেওয়া আপনার সিস্টেমে স্বাভাবিকতা পুনরুদ্ধার করার একমাত্র বিকল্প বলে মনে হয়। লিনাক্স আপনাকে ব্যবহার করে একটি প্রক্রিয়া হত্যা করতে দেয় পিড বা প্রক্রিয়ার নাম।

ব্যবহার করে pgrep আদেশ

লিনাক্স ব্যবহারকারীদের অধিকাংশই এর সাথে পরিচিত grep আদেশ দ্য pgrep কমান্ড অনুরূপ লাইন ব্যবহার করা যেতে পারে grep.

pgrep কমান্ড ব্যবহার করা হলে, প্রদর্শন করে পিড কমান্ডে উল্লিখিত হিসাবে চলমান প্রক্রিয়ার। এই কমান্ডটি ব্যবহার করার সময় খুব সহায়ক প্রমাণিত হবে pkill আদেশ

সাধারণ সিনট্যাক্স:

pgrep [বিকল্প] [প্যাটার্ন]

সঙ্গে উপলব্ধ গুরুত্বপূর্ণ বিকল্প pgrep আদেশ

বিকল্পবর্ণনা
-উএকটি নির্দিষ্ট ব্যবহারকারীর মালিকানাধীন তালিকা প্রক্রিয়া আইডি
-গমিলিত প্রক্রিয়ার সংখ্যা গণনা
-আমিশুধুমাত্র প্রক্রিয়া নাম তালিকা
-কপ্রক্রিয়া নামের সম্পূর্ণ পথের তালিকা করুন

এর ব্যবহার প্রদর্শন করা যাক pgrep একটি উদাহরণ ব্যবহার করে কমান্ড।

pgrep -u গৌরব জিনোম

এখানে, আমরা দেখতে চাই পিড প্রক্রিয়া জিনোমের মালিকানাধীন ব্যবহারকারী 'গৌরব'। বিকল্প -উ আপনি তালিকা করতে পারবেন পিড একটি নির্দিষ্ট ব্যবহারকারীর মালিকানাধীন প্রক্রিয়াগুলির। এক্ষেত্রে ব্যবহারকারী গৌরব।

আউটপুট:

gaurav@ubuntu:~$ pgrep -u গৌরভ গনোম 1752 1755 1909 1922 2021 2576 4279 gaurav@ubuntu:~$

যেহেতু আমরা এই টিউটোরিয়ালটি নিয়ে এগিয়ে যাচ্ছি, pgrep কমান্ড আমাদের নিশ্চিত করতে সাহায্য করবে যে প্রক্রিয়াটি মারা গেছে বা এখনও চলছে কিনা।

আমাদের এখন সরানো যাক pkill আদেশ এবং তার বাস্তবায়ন।

ব্যবহার pkill আদেশ

আপনি ব্যবহার করতে পারেন pkill প্রক্রিয়ার নাম ব্যবহার করে প্রক্রিয়াটি মেরে ফেলার জন্য লিনাক্সে কমান্ড দিন। না জানলেও পিড কিছু প্রক্রিয়ার, তারপরেও আপনি ব্যবহার করে সেই নির্দিষ্ট প্রক্রিয়াটিকে মেরে ফেলতে পারেন pkill আদেশ

ব্যবহার করার সময় প্রক্রিয়াগুলি তাদের সম্পূর্ণ নাম বা আংশিক নাম দিয়ে নির্দিষ্ট করা যেতে পারে pkill আদেশ এমনকি আপনি প্রক্রিয়াটির আংশিক নাম লিখলেও, pkill কমান্ডটি সমস্ত চলমান প্রক্রিয়ার সাথে মিলিত নামের সাথে মিলবে যা আপনি কমান্ডে প্রবেশ করেছেন।

বাক্য গঠন:

pkill [বিকল্পগুলি][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 মেম : 3928240 মোট, 610456 বিনামূল্যে, 2233152 ব্যবহৃত, 1084632 বাফ/ক্যাশে KiB সোয়াপ, 3848 টোটাল 3848, 38480 মোট 1187268 উপকার মেম PID, USER এর জনসংযোগ এন আই virt রেস SHR s% সিপিইউ% MEM TIME এ + Command 4077 গৌরভ 20 0 3312128 673480 118360 এস 19.6 17.1 15: 13,23 ওয়েব সামগ্রী 3712 গৌরভ 20 0 3953008 453544 116476 S 4.0 11.5 9: 28,39 MainThread 2010 গৌরভ 20 0 4084232 111096 45024 S 1.7 2.8 3: 14,85 জিনোম-শেল 1197 রুট 20 0 1039612 33704 22988 এস 1.0 0.9 3: 04,42 উপলব্ধকারী Xorg 1426 couchdb 20 0 3772396 16908 2520 S 0.7 0.4 1: 50,83 beam.smp 3288 গৌরভ 20 0 722480 25048 18272 এস 0.7 0.6 0: 06,84 জিনোম-terminal- 3915 গৌরভ 20 0 2804900 231524 111228 S 0.7 5.9 0: 54,42 ওয়েব সামগ্রী 4146 গৌরভ 20 0 3017924 245304 120604 S 0.7 6.2 2: 01,21 ওয়েব সামগ্রী 4417 গৌরভ 20 0 2964208 234396 119160 S 0.7 6.0 0 :59.90 ওয়েব সামগ্রী 4860 গৌরব 20 0 3066800 372920 132544 S 0.7 9.5 0:48.20 ওয়েব সামগ্রী 16007 গৌরব 20 0 41944 3780 311700 R20160 শীর্ষ৷ 

ব্যবহার শীর্ষ কমান্ড আপনার টার্মিনালে একাধিক প্রক্রিয়া প্রদর্শন করবে। আসুন একটি নির্দিষ্ট নাম দিয়ে প্রক্রিয়াটি প্রদর্শন করার চেষ্টা করি। আমরা ব্যবহার করব grep একটি প্রক্রিয়া প্রদর্শন করার জন্য কমান্ড যার নাম স্ট্রিং 'মঙ্গো' এর সাথে মেলে।

শীর্ষ | grep -i mongo

বিঃদ্রঃ: এখানে, আমি অনুসন্ধান কেস-অসংবেদনশীল করতে -i বিকল্পটি ব্যবহার করেছি।

এই কমান্ডের আউটপুট 'মঙ্গো' নামের সাথে মিলে যাওয়া প্রক্রিয়াগুলি প্রদর্শন করবে

 1158 MongoDB 20 0 288564 4848 1320 S 0.7 0.1 1: 03,22 mongod 1158 MongoDB 20 0 288564 4848 1320 S 1.0 0.1 1: 03,25 mongod 1158 MongoDB 20 0 288564 4848 1320 S 0.7 0.1 1: 03,27 mongod 1158 MongoDB 20 0 288564 4848 1320 এস 0.7 0.1 1: 03,29 mongod 1158 MongoDB 20 0 288564 4848 1320 S 0.7 0.1 1: 03,31 mongod 1158 MongoDB 20 0 288564 4848 1320 S 0.7 0.1 1: 03,33 mongod 1158 MongoDB 20 0 288564 4848 1320 S 1.0 0.1 1: 03,36 mongod 1158 MongoDB 20 0 288564 4848 1320 S 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 S 1.0 0.1 1: 03,43 mongod 1158 MongoDB 20 0 288564 4848 1320 S 0.7 0.1 1: 03,45 mongod 1158 MongoDB 20 0 288564 4848 1320 S 1.0 0.1 1: 03,48 mongod 1158 MongoDB 20 0 288564 4848 1320 S 0.3 0.1 1: 03,49 mongod 1158 MongoDB 20 0 288564 4848 1320 S 1.0 0.1 1: 03.52 1158 MongoDB 20 0 mongod 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 কমান্ড যা প্রদর্শন করে পিড ব্যবহারকারীর দ্বারা নির্দিষ্ট মানদণ্ড অনুযায়ী চলমান প্রক্রিয়ার।

gaurav@ubuntu:~$ pgrep mongo gaurav@ubuntu:~$

এই কমান্ড কোন মান প্রদান করবে না। এটি নিশ্চিত করে যে প্রক্রিয়া 'মঙ্গো' এখন ব্যবহার করে হত্যা করা হয়েছে pkill আদেশ

সঙ্গে প্রায়শই ব্যবহার করা বিকল্প pkill আদেশ

ব্যবহার করার সময় pkill কমান্ডের সঠিক এবং অনায়াসে ব্যবহারের জন্য আমাদের উল্লিখিত বিকল্পগুলির প্রয়োজন হবে pkill আদেশ

অপশনবর্ণনা
-চস্পেস, উদ্ধৃতি, বিশেষ অক্ষর সহ সম্পূর্ণ আর্গুমেন্টের সাথে মেলে
-উনির্দিষ্ট ব্যবহারকারীর দ্বারা চালিত প্রক্রিয়ার সাথে মিলে যাওয়ার জন্য pkill প্রক্রিয়াটিকে জানাতে
-1প্রক্রিয়াটি পুনরায় লোড করে
-9প্রক্রিয়াটিকে হত্যা করে
-15সুন্দরভাবে একটি প্রক্রিয়া বাতিল করে

এর আরও একটি উদাহরণ দেখা যাক pkill কমান্ড ব্যবহার করে -চ বিকল্প

নিচে দেখানো হিসাবে টার্মিনালে বর্তমানে দুটি কমান্ড কার্যকর হচ্ছে।

ping bbc.com ping youtube.com

উভয় প্রক্রিয়াই শুরু হয় পিং আদেশ এখন, ধরুন আমরা শুধুমাত্র একটি প্রক্রিয়া "ping youtube.com" বন্ধ করতে চাই তাহলে আমাদের ব্যবহার করতে হবে -চ সঙ্গে বিকল্প 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 সময়=30.9 ms 64 বাইট bom12s08-in-f14.1e100.net থেকে 64 বাইট): bom12s08-in-f14.1e100.net (142.250.67.206): icmp_seq=206 ttl=117 সময়=86.5 ms 64 বাইট থেকে bom12s08-in-f14.1e100.net (121 ms 64 বাইট) ): icmp_seq=207 ttl=117 time=105 ms টার্মিনেটেড gaurav@ubuntu:~$ 

এখানে "youtube.com এ পিং করুন"প্রক্রিয়া এখন মারা গেছে এবং "পিং bbc.com” এখনও টার্মিনালে চলছে।

যদি আমরা ব্যবহার করতাম পিকিল পিং আদেশ, এটা উভয় হত্যা করা হবে পিং প্রক্রিয়া, যা অবাঞ্ছিত।

সাথে ব্যবহৃত সংকেত pkill আদেশ

pkill সেই প্রক্রিয়ায় একটি নির্দিষ্ট সংকেত পাঠিয়ে একটি প্রক্রিয়া প্রস্থান করতে বাধ্য করে। তিনটি সম্ভাব্য সংকেত আছে যা pkill কমান্ডটি ব্যবহারকারীর দেওয়া কমান্ডের উপর নির্ভর করে প্রক্রিয়াটিতে প্রেরণ করতে পারে।

নিম্নলিখিত সংকেত উপলব্ধ তালিকা.

সংকেতস্পেসিফিকেশন
1(HUP)নির্দিষ্ট প্রক্রিয়া পুনরায় লোড করে
9 (হত্যা)নির্দিষ্ট প্রক্রিয়াটিকে হত্যা করে
15 (মেয়াদ)আলতো করে নির্দিষ্ট প্রক্রিয়া বন্ধ করে বা বাতিল করে

এই টিউটোরিয়ালের জন্য, আমরা এর উপর অনেক বেশি নির্ভর করব হত্যা সংকেত আসুন এটি আরও ভালভাবে বোঝার জন্য কয়েকটি উদাহরণ দিয়ে যাই।

ব্যবহার করে pgrep পেতে আদেশ পিড অ্যাপাচি নামের সাথে মিল রয়েছে।

gaurav@ubuntu:~$ pgrep apache 1218 10402 10403 gaurav@ubuntu:~$
pkill - Apache হত্যা করুন

অথবা আপনি সংখ্যা সহ কমান্ডটি ব্যবহার করতে পারেন (যেমন 1, 9, 15)

pkill -9 অ্যাপাচি

উপরে দেখানো দুটি কমান্ডই অ্যাপাচি প্রক্রিয়াটিকে মেরে ফেলবে। সঙ্গে নিশ্চিত করা pgrep আবার আদেশ।

gaurav@ubuntu:~$ pgrep apache gaurav@ubuntu:~$

হিসাবে pgrep কমান্ড কোন আউটপুট ফেরত দেয় না, প্রমাণ করে যে প্রক্রিয়া অ্যাপাচি মারা গেছে।

উপসংহার

এই টিউটোরিয়ালে, আমরা সম্পর্কে শিখেছি pkill কমান্ড এবং কিভাবে এটি সরাসরি প্রক্রিয়ার নাম ব্যবহার করে প্রক্রিয়াটিকে হত্যা করতে ব্যবহৃত হয়। এছাড়াও আমরা সম্পর্কে শিখেছি pgrep কমান্ড যা কোনো নির্দিষ্ট ব্যবহারকারী দ্বারা চালিত প্রক্রিয়াটির প্রক্রিয়া আইডি আনতে ব্যবহৃত হয়। দ্য pgrep কমান্ড আমাদের ক্রস-চেক করার অনুমতি দেয় যদি প্রক্রিয়াটি মারা যায়।