প্রক্রিয়া হত্যা এবং নিয়ন্ত্রণ: kill, killall, pkill
UNIX এবং LINUX সিস্টেমে প্রক্রিয়া হত্যা বা প্রক্রিয়া নিয়ন্ত্রণ এমন একটি গুরুত্বপূর্ণ কার্যক্রম, যা সিস্টেমের কার্যক্ষমতা এবং স্টেবিলিটি বজায় রাখার জন্য ব্যবহার করা হয়। যখন কোনো প্রক্রিয়া সঠিকভাবে কাজ করছে না বা তা অকার্যকর হয়ে গেছে, তখন আপনি এই প্রক্রিয়াগুলি বন্ধ করতে বা হত্যা করতে পারেন। এতে সহায়ক তিনটি প্রধান কমান্ড হল kill, killall, এবং **pkill**। এগুলি প্রক্রিয়া ম্যানেজমেন্টের জন্য ব্যবহৃত হয়।
1. kill কমান্ড
kill কমান্ডটি একটি বা একাধিক প্রক্রিয়া (process) বন্ধ বা হত্যা করার জন্য ব্যবহৃত হয়। এই কমান্ডটি প্রক্রিয়া আইডেন্টিফায়ার (PID) ব্যবহার করে কাজ করে। PID হল একটি ইউনিক নম্বর যা প্রতিটি চালু প্রক্রিয়া নির্ধারণ করে।
সিনট্যাক্স:
kill [signal] PIDsignal: প্রক্রিয়াটির উপর যে সংকেত পাঠানো হবে। এটি ঐচ্ছিক, এবং যদি সংকেত নির্দিষ্ট না করা হয়, তাহলে ডিফল্ট হিসেবেSIGTERM(15) সংকেত পাঠানো হয়।- PID: প্রক্রিয়ার আইডি নম্বর যা আপনি বন্ধ করতে চান।
কমান্ড উদাহরণ:
প্রক্রিয়া হত্যা করা (PID 1234):
kill 1234এটি PID 1234 প্রক্রিয়া বন্ধ করবে। যদি প্রক্রিয়া বন্ধ না হয়, তাহলে আপনি আরো শক্তিশালী সংকেত পাঠাতে পারেন (যেমন SIGKILL)।
প্রক্রিয়া SIGKILL সংকেত পাঠানো:
kill -9 1234এখানে
-9হলো SIGKILL সংকেত, যা প্রক্রিয়া দ্রুত এবং জোরপূর্বক বন্ধ করে দেয়।SIGTERM সংকেত পাঠানো (ডিফল্ট সংকেত):
kill -15 1234-15হল SIGTERM, যা প্রক্রিয়াকে বন্ধ করার জন্য একটি প্রাথমিক অনুরোধ পাঠায়।সবগুলো প্রক্রিয়া বন্ধ করা:
kill -9 $(ps -e | grep process_name | awk '{print $1}')এটি একটি নির্দিষ্ট প্রক্রিয়ার নাম অনুসারে সকল প্রক্রিয়া বন্ধ করবে।
2. killall কমান্ড
killall কমান্ডটি নির্দিষ্ট নামের সাথে সমস্ত প্রক্রিয়া হত্যা করতে ব্যবহৃত হয়। আপনি যখন কোনো প্রক্রিয়ার নাম জানেন, তখন আপনি সেই নামের সমস্ত চলমান প্রক্রিয়া বন্ধ করতে killall ব্যবহার করতে পারেন।
সিনট্যাক্স:
killall [signal] process_namesignal: প্রক্রিয়ার উপর যে সংকেত পাঠানো হবে। (যেমন-9বা-15)process_name: প্রক্রিয়ার নাম (যেমনfirefox,apache2, ইত্যাদি)
কমান্ড উদাহরণ:
প্রক্রিয়া বন্ধ করা (যেমন
firefox):killall firefoxএটি সকল
firefoxপ্রক্রিয়া বন্ধ করবে।SIGKILL সংকেত পাঠানো:
killall -9 firefoxএটি
firefoxপ্রক্রিয়া জোরপূর্বক বন্ধ করবে।একটি গ্রুপের সকল প্রক্রিয়া বন্ধ করা:
killall -9 apache2এটি
apache2সার্ভারের সকল চলমান প্রক্রিয়া বন্ধ করবে।
3. pkill কমান্ড
pkill (প্রক্রিয়া হত্যা) কমান্ডটি killall এর মতো কাজ করে, তবে এটি আরও নমনীয় এবং শক্তিশালী। pkill কমান্ডটি একটি প্রক্রিয়ার নামের সাথে সাথে তার অন্যান্য বৈশিষ্ট্যও অনুসন্ধান করতে পারে (যেমন ব্যবহারকারীর নাম, UID, প্রক্রিয়ার সময় ইত্যাদি)।
সিনট্যাক্স:
pkill [options] process_nameoptions: প্যারামিটার বা অপশনগুলি যা আপনি প্রক্রিয়ার সাথে সম্পর্কিত নির্দিষ্ট বৈশিষ্ট্য অনুসন্ধান করতে পারেন।process_name: প্রক্রিয়ার নাম বা অংশ (যেমনfirefox,python3, ইত্যাদি)
কমান্ড উদাহরণ:
প্রক্রিয়া বন্ধ করা (যেমন
firefox):pkill firefoxএটি
firefoxনামক সমস্ত চলমান প্রক্রিয়া বন্ধ করবে।SIGKILL সংকেত পাঠানো:
pkill -9 firefoxএটি
firefoxপ্রক্রিয়াকে জোরপূর্বক বন্ধ করবে।একটি নির্দিষ্ট ব্যবহারকারীর প্রক্রিয়া বন্ধ করা:
pkill -u username process_nameএটি
usernameব্যবহারকারীরprocess_nameপ্রক্রিয়া বন্ধ করবে।প্রক্রিয়া সময়ের উপর ভিত্তি করে প্রক্রিয়া বন্ধ করা:
pkill -o -f process_nameএটি
process_nameএর সবচেয়ে পুরোনো প্রক্রিয়া বন্ধ করবে।
সারসংক্ষেপ
killকমান্ড একটি নির্দিষ্ট PID দ্বারা প্রক্রিয়া হত্যা করতে ব্যবহৃত হয়, যেখানে আপনি সংকেত নির্দিষ্ট করতে পারেন।killallকমান্ডটি একই নামের সমস্ত প্রক্রিয়া বন্ধ করতে ব্যবহৃত হয়।pkillকমান্ডটিkillallএর মতো কাজ করে, তবে এটি আরও নমনীয় এবং শক্তিশালী, যেমন ব্যবহারকারী, প্রক্রিয়ার সময় বা নামের অংশের ভিত্তিতে প্রক্রিয়া বন্ধ করা।
এই কমান্ডগুলি ব্যবহারকারীদের প্রক্রিয়া নিয়ন্ত্রণ এবং তাদের কার্যক্ষমতা বজায় রাখতে সহায়ক।
Read more