প্রক্রিয়া হত্যা এবং নিয়ন্ত্রণ: kill, killall, pkill

প্রক্রিয়া এবং জব ম্যানেজমেন্ট - ইউনিক্স/লিনাক্স (UNIX / LINUX) - Computer Programming

200

প্রক্রিয়া হত্যা এবং নিয়ন্ত্রণ: kill, killall, pkill

UNIX এবং LINUX সিস্টেমে প্রক্রিয়া হত্যা বা প্রক্রিয়া নিয়ন্ত্রণ এমন একটি গুরুত্বপূর্ণ কার্যক্রম, যা সিস্টেমের কার্যক্ষমতা এবং স্টেবিলিটি বজায় রাখার জন্য ব্যবহার করা হয়। যখন কোনো প্রক্রিয়া সঠিকভাবে কাজ করছে না বা তা অকার্যকর হয়ে গেছে, তখন আপনি এই প্রক্রিয়াগুলি বন্ধ করতে বা হত্যা করতে পারেন। এতে সহায়ক তিনটি প্রধান কমান্ড হল kill, killall, এবং **pkill**। এগুলি প্রক্রিয়া ম্যানেজমেন্টের জন্য ব্যবহৃত হয়।


1. kill কমান্ড

kill কমান্ডটি একটি বা একাধিক প্রক্রিয়া (process) বন্ধ বা হত্যা করার জন্য ব্যবহৃত হয়। এই কমান্ডটি প্রক্রিয়া আইডেন্টিফায়ার (PID) ব্যবহার করে কাজ করে। PID হল একটি ইউনিক নম্বর যা প্রতিটি চালু প্রক্রিয়া নির্ধারণ করে।

সিনট্যাক্স:

kill [signal] PID
  • signal: প্রক্রিয়াটির উপর যে সংকেত পাঠানো হবে। এটি ঐচ্ছিক, এবং যদি সংকেত নির্দিষ্ট না করা হয়, তাহলে ডিফল্ট হিসেবে SIGTERM (15) সংকেত পাঠানো হয়।
  • PID: প্রক্রিয়ার আইডি নম্বর যা আপনি বন্ধ করতে চান।

কমান্ড উদাহরণ:

  1. প্রক্রিয়া হত্যা করা (PID 1234):

    kill 1234

    এটি PID 1234 প্রক্রিয়া বন্ধ করবে। যদি প্রক্রিয়া বন্ধ না হয়, তাহলে আপনি আরো শক্তিশালী সংকেত পাঠাতে পারেন (যেমন SIGKILL)।

  2. প্রক্রিয়া SIGKILL সংকেত পাঠানো:

    kill -9 1234

    এখানে -9 হলো SIGKILL সংকেত, যা প্রক্রিয়া দ্রুত এবং জোরপূর্বক বন্ধ করে দেয়।

  3. SIGTERM সংকেত পাঠানো (ডিফল্ট সংকেত):

    kill -15 1234

    -15 হল SIGTERM, যা প্রক্রিয়াকে বন্ধ করার জন্য একটি প্রাথমিক অনুরোধ পাঠায়।

  4. সবগুলো প্রক্রিয়া বন্ধ করা:

    kill -9 $(ps -e | grep process_name | awk '{print $1}')

    এটি একটি নির্দিষ্ট প্রক্রিয়ার নাম অনুসারে সকল প্রক্রিয়া বন্ধ করবে।


2. killall কমান্ড

killall কমান্ডটি নির্দিষ্ট নামের সাথে সমস্ত প্রক্রিয়া হত্যা করতে ব্যবহৃত হয়। আপনি যখন কোনো প্রক্রিয়ার নাম জানেন, তখন আপনি সেই নামের সমস্ত চলমান প্রক্রিয়া বন্ধ করতে killall ব্যবহার করতে পারেন।

সিনট্যাক্স:

killall [signal] process_name
  • signal: প্রক্রিয়ার উপর যে সংকেত পাঠানো হবে। (যেমন -9 বা -15)
  • process_name: প্রক্রিয়ার নাম (যেমন firefox, apache2, ইত্যাদি)

কমান্ড উদাহরণ:

  1. প্রক্রিয়া বন্ধ করা (যেমন firefox):

    killall firefox

    এটি সকল firefox প্রক্রিয়া বন্ধ করবে।

  2. SIGKILL সংকেত পাঠানো:

    killall -9 firefox

    এটি firefox প্রক্রিয়া জোরপূর্বক বন্ধ করবে।

  3. একটি গ্রুপের সকল প্রক্রিয়া বন্ধ করা:

    killall -9 apache2

    এটি apache2 সার্ভারের সকল চলমান প্রক্রিয়া বন্ধ করবে।


3. pkill কমান্ড

pkill (প্রক্রিয়া হত্যা) কমান্ডটি killall এর মতো কাজ করে, তবে এটি আরও নমনীয় এবং শক্তিশালী। pkill কমান্ডটি একটি প্রক্রিয়ার নামের সাথে সাথে তার অন্যান্য বৈশিষ্ট্যও অনুসন্ধান করতে পারে (যেমন ব্যবহারকারীর নাম, UID, প্রক্রিয়ার সময় ইত্যাদি)।

সিনট্যাক্স:

pkill [options] process_name
  • options: প্যারামিটার বা অপশনগুলি যা আপনি প্রক্রিয়ার সাথে সম্পর্কিত নির্দিষ্ট বৈশিষ্ট্য অনুসন্ধান করতে পারেন।
  • process_name: প্রক্রিয়ার নাম বা অংশ (যেমন firefox, python3, ইত্যাদি)

কমান্ড উদাহরণ:

  1. প্রক্রিয়া বন্ধ করা (যেমন firefox):

    pkill firefox

    এটি firefox নামক সমস্ত চলমান প্রক্রিয়া বন্ধ করবে।

  2. SIGKILL সংকেত পাঠানো:

    pkill -9 firefox

    এটি firefox প্রক্রিয়াকে জোরপূর্বক বন্ধ করবে।

  3. একটি নির্দিষ্ট ব্যবহারকারীর প্রক্রিয়া বন্ধ করা:

    pkill -u username process_name

    এটি username ব্যবহারকারীর process_name প্রক্রিয়া বন্ধ করবে।

  4. প্রক্রিয়া সময়ের উপর ভিত্তি করে প্রক্রিয়া বন্ধ করা:

    pkill -o -f process_name

    এটি process_name এর সবচেয়ে পুরোনো প্রক্রিয়া বন্ধ করবে।


সারসংক্ষেপ

  • kill কমান্ড একটি নির্দিষ্ট PID দ্বারা প্রক্রিয়া হত্যা করতে ব্যবহৃত হয়, যেখানে আপনি সংকেত নির্দিষ্ট করতে পারেন।
  • killall কমান্ডটি একই নামের সমস্ত প্রক্রিয়া বন্ধ করতে ব্যবহৃত হয়।
  • pkill কমান্ডটি killall এর মতো কাজ করে, তবে এটি আরও নমনীয় এবং শক্তিশালী, যেমন ব্যবহারকারী, প্রক্রিয়ার সময় বা নামের অংশের ভিত্তিতে প্রক্রিয়া বন্ধ করা।

এই কমান্ডগুলি ব্যবহারকারীদের প্রক্রিয়া নিয়ন্ত্রণ এবং তাদের কার্যক্ষমতা বজায় রাখতে সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...