অ্যান্ড্রয়েড

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

Linux এ প্রক্রিয়া হত্যা করার কিভাবে

Linux এ প্রক্রিয়া হত্যা করার কিভাবে

সুচিপত্র:

Anonim

আপনি কি কখনও এমন পরিস্থিতিতে পড়েছেন যেখানে আপনি কোনও অ্যাপ্লিকেশন চালু করেছেন এবং আপনি যখন অ্যাপ্লিকেশনটি ব্যবহার করছেন তখন হঠাৎ এটি প্রতিক্রিয়াহীন এবং অপ্রত্যাশিতভাবে ক্র্যাশ হয়ে যায়? আপনি আবার অ্যাপ্লিকেশনটি শুরু করার চেষ্টা করেছেন, তবে কিছুই হয় না কারণ আসল অ্যাপ্লিকেশন প্রক্রিয়াটি সত্যই কখনই পুরোপুরি বন্ধ হয় না।

ঠিক আছে, আমাদের সকলের সাথে এক পর্যায়ে এটি ঘটেছে, তাই না? সমাধানটি হ'ল অ্যাপ্লিকেশন প্রক্রিয়াটি শেষ করা বা হত্যা করা। কিন্তু কিভাবে?

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

এই সরঞ্জামগুলির মধ্যে প্রধান পার্থক্য হ'ল kill প্রসেস আইডি নম্বর (পিআইডি) এর উপর ভিত্তি করে প্রসেসগুলি টার্মিনেট করে, অন্যদিকে killall এবং pkill কমান্ডগুলি তাদের নাম এবং অন্যান্য বৈশিষ্ট্যের উপর ভিত্তি করে চলমান প্রক্রিয়াগুলি সমাপ্ত করে।

নিয়মিত ব্যবহারকারীরা তাদের নিজস্ব প্রক্রিয়াগুলি মেরে ফেলতে পারে, তবে অন্যান্য ব্যবহারকারীর সাথে সম্পর্কিত নয়, অন্যদিকে রুট ব্যবহারকারীরা সমস্ত প্রক্রিয়াটিকে হত্যা করতে পারবেন।

সিস্টেম কিল সিগন্যাল

kill , killall , এবং pkill নির্দিষ্ট প্রক্রিয়া বা প্রক্রিয়া গ্রুপগুলিতে একটি প্রদত্ত সংকেত প্রেরণ করে। যখন কোনও সংকেত নির্দিষ্ট না করা থাকে, প্রতিটি সরঞ্জাম 15 ( TERM ) প্রেরণ করে।

সর্বাধিক ব্যবহৃত সংকেতগুলি হ'ল:

  • 1 (-HUP): একটি প্রক্রিয়া পুনরায় লোড করার জন্য। 9 (-কিল): একটি প্রক্রিয়া হত্যা করতে। 15 (-TERM): করুণার সাথে একটি প্রক্রিয়া বন্ধ করুন।

সিগন্যালগুলি তিনটি বিভিন্ন উপায়ে নির্দিষ্ট করা যেতে পারে:

  • "সাইন" উপসর্গ (উদাহরণস্বরূপ, -1) সহ "সাইন" উপসর্গ (উদাহরণস্বরূপ, -1) ব্যবহার করে (যেমন, -এইচপি) (

সমস্ত উপলভ্য সংকেত তালিকাবদ্ধ করতে -l বিকল্পটি ব্যবহার করুন:

kill -l # or killall -l

নীচে বর্ণিত পদক্ষেপগুলি সমস্ত লিনাক্স বিতরণে কাজ করবে।

kill কমান্ড ব্যবহার করে প্রক্রিয়া সমাপ্ত করা হচ্ছে

kill কমান্ড দিয়ে কোনও প্রক্রিয়া শেষ করতে প্রথমে আপনাকে পিআইডি প্রক্রিয়াটি সন্ধান করতে হবে। আপনি বিভিন্ন কমান্ড যেমন top , ps , pidof এবং pgrep ব্যবহার করে এটি করতে পারেন।

ধরা যাক ফায়ারফক্স ব্রাউজারটি প্রতিক্রিয়াহীন হয়ে উঠেছে, এবং আপনার ফায়ারফক্স প্রক্রিয়াটি শেষ করা দরকার। প্রক্রিয়া আইডি সন্ধান করতে, pidof কমান্ডটি ব্যবহার করুন:

pidof firefox

কমান্ডটি সমস্ত ফায়ারফক্স প্রসেস মুদ্রণ করবে:

2551 2514 1963 1856 1771

ফায়ারফক্স জানলে একবারে তাদের সকলের সমাপ্তির জন্য পিআইডি প্রসেস করে টিআরএম সংকেত পাঠান:

kill -9 2551 2514 1963 1856 1771

killall কমান্ড ব্যবহার করে প্রক্রিয়া সমাপ্ত করা হচ্ছে

killall কমান্ডটি এমন সমস্ত প্রোগ্রামকে সমাপ্ত করে যা নির্দিষ্ট নামের সাথে মেলে।

আগের মত একই পরিস্থিতি ব্যবহার করে আপনি ফায়ারফক্স প্রসেসটি টাইপ করে হত্যা করতে পারেন:

killall -9 firefox

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

উদাহরণস্বরূপ, ব্যবহারকারীর হিসাবে চলমান সমস্ত প্রক্রিয়া শেষ করতে "সারা", আপনি নিম্নলিখিত কমান্ডটি চালাবেন:

sudo killall -u sara

pkill কমান্ড ব্যবহার করে প্রক্রিয়াগুলি সমাপ্ত করা হচ্ছে

pkill প্রসেসগুলি সমাপ্ত করে যা কমান্ড লাইনে প্রদত্ত প্যাটার্নটির সাথে মেলে:

pkill -9 firefox

প্রক্রিয়াটির নামটি হুবহু মিল হতে পারে না।

pkill আপনি কোনও প্রদত্ত ব্যবহারকারীর মালিকানাধীন প্রক্রিয়াগুলিতে একটি pkill প্রেরণ করতে পারেন। "সারা" ব্যবহারকারীর মালিকানাধীন কেবল ফায়ারফক্স প্রক্রিয়াগুলিকে হত্যা করতে আপনি টাইপ করতে পারেন:

pkill -9 -u sara firefox

উপসংহার

kill , killall এবং pkill কমান্ড ব্যবহার করে প্রতিক্রিয়াবিহীন কর্মসূচি বাতিল করা সহজ কাজ। আপনার কেবল প্রক্রিয়া নাম বা পিআইডি জানতে হবে।

টার্মিনাল হত্যা