কিল, পিল এবং কিল্লার মধ্যে পার্থক্য কী?


31

আমি killকমান্ডের সাথে পরিচিত , এবং বেশিরভাগ সময় আমরা কেবল একটি প্রক্রিয়াটিকে জোর করে মেরে ফেলার জন্য কিল -9 ব্যবহার করি, আরও অনেক সংকেত রয়েছে যা ব্যবহার করা যেতে পারে kill। তবে আমি অবাক হই যে এর মধ্যে কী কী ব্যবহার রয়েছে pkillএবং killallযদি ইতিমধ্যে একটি কমান্ড কমান্ড থাকে is

কি pkillএবং killallব্যবহার killতাদের বাস্তবায়নের কমান্ড? আমি বোঝাতে চাইছি যে তারা কেবল ppersেকে রেখেছে killবা তাদের নিজস্ব বাস্তবায়ন আছে?

pgrepকমান্ড কীভাবে প্রক্রিয়া নাম থেকে প্রক্রিয়া আইডি পায় তা জানতে চাই ।

এই সমস্ত আদেশগুলি একই অন্তর্নিহিত সিস্টেম কলগুলি ব্যবহার করে? পারফরম্যান্সের দৃষ্টিভঙ্গি থেকে কোন পার্থক্য রয়েছে, কোনটি দ্রুত?


2
দুটি জিনিস: kill -9ডিফল্টরূপে কেন ব্যবহার করবেন ? -15 (দয়া করে থামুন) এবং -1 (মডেমটি ঝুলিয়ে দিয়েছে, দয়া করে নিজেকে নিখুঁতভাবে বন্ধ করেছেন) আরও অনেক ভদ্র। দ্বিতীয়ত। নন-লিনাক্স বাক্সগুলিতে কিল্লাল ব্যবহার থেকে সাবধান থাকুন। এটি অন্যরকম আচরণ করতে পারে। (উদাহরণস্বরূপ সোলারিতে এটি সমস্তকে হত্যা করে process প্রক্রিয়া নামগুলিতে ফিল্টার করা হয় না)।
হেনেস

উত্তর:


31

killকমান্ড একটি খুব সহজ মোড়কের হয় kill সিস্টেম কল , যা শুধুমাত্র প্রক্রিয়া ID- র (PIDs) সম্পর্কে জানেন। pkillএবং killallএছাড়াও kill সিস্টেম কল , (আসলে, libc লাইব্রেরিতে যা সরাসরি সিস্টেম কলটি আহ্বান করে) এ মোড়ানো হয়, তবে প্রক্রিয়াটির নাম, প্রক্রিয়ার মালিক, সেশন আইডি ইত্যাদির উপর ভিত্তি করে আপনার জন্য পিআইডি নির্ধারণ করতে পারে

কীভাবে pkillএবং তাদের killallব্যবহার ltraceবা straceতাদের ব্যবহারের কাজ দেখা যায় । লিনাক্সে, তারা উভয়ই /procফাইল সিস্টেমের মাধ্যমে পড়ে এবং পাওয়া প্রতিটি পিড (ডিরেক্টরি) জন্য, কোনও প্রক্রিয়াটির নাম বা অন্যান্য বৈশিষ্ট্য দ্বারা চিহ্নিতকরণের পথে পথটি অনুসরণ করে। এটি কীভাবে করা হয় তা প্রযুক্তিগতভাবে বলতে হয়, কার্নেল এবং সিস্টেম নির্দিষ্ট। সাধারণভাবে, তারা পড়তে পারে /proc/<PID>/statযা থেকে দ্বিতীয় ক্ষেত্র হিসাবে কমান্ডের নাম রয়েছে। জন্য pkill -fএবং pgrepপরীক্ষা /cmdlineপ্রতিটি PID, এর proc এন্ট্রির জন্য এন্ট্রি।

pkillএবং সিস্টেম কল pgrepব্যবহার করুন readproc, যেখানে killallনা। পারফরম্যান্সের পার্থক্য আছে কিনা তা আমি বলতে পারিনি: আপনাকে নিজেরাই এটির মানদণ্ড তৈরি করতে হবে।


2

কিল এবং কিলাল হ'ল এমন একটি সরঞ্জাম যা কোনও প্রক্রিয়া মারার উপায় সরবরাহ করে। প্রথম এটির পিআইডি, দ্বিতীয়টি তার নামে। pgrep (তালিকা) এবং pkill (ডিফল্টরূপে হত্যা) এমন একটি সরঞ্জাম যা কোনও প্রক্রিয়াটির নাম বা অন্যান্য বৈশিষ্ট্য দ্বারা বার্তা প্রেরণের একটি উপায় সরবরাহ করে দেখুন: http://linux.die.net/man/1/pkill সম্পর্কে আরও তথ্যের জন্য সিগন্যাল: http://linux.die.net/man/7/signal


আপনার অর্থ killallকি কোনও প্রক্রিয়াটির নাম করে হত্যা করতে ব্যবহৃত হয়? এবং এটি এই উদ্দেশ্যে pgrep ব্যবহার করে? এবং killallসমস্ত শিশু প্রক্রিয়া মেরে ফেলেছে ,? killallডিফল্টভাবে কি সংকেত ব্যবহার করে?
ইজাজ আহমেদ খান

3
... যদি না আপনি সোলারিস, যা মামলা করছি killallমেরে ফেলবে সব প্রসেস তোমাকে হত্যা করার অধিকার আছে, যাতে তুমি রুট করলে আপনাকে হয়ত কার্যকরভাবে সার্ভার পুনরায় বুট করার করছি।
জেনি ডি

1
হ্যাঁ: killall chromiumক্রোমিয়াম প্রক্রিয়াটি মেরে ফেলবে, pgrep chromiumআপনাকে পিআইডি তালিকা দেবে, pkill chromiumক্রোমিয়ামকে হত্যা করবে। জন্য killall ডিফল্ট SIGTERM সংকেত দ্বারা পাঠাব (pkill হিসাবে)
dervishe
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.