একক কমান্ড দিয়ে কিভাবে একটি প্রক্রিয়া হত্যা করতে?


18

আমি একটি পদক্ষেপে আইডি সন্ধানের পরে, একটি প্রক্রিয়া হত্যা করতে চাই।

আমি বর্তমানে এই দুটি কমান্ড ব্যবহার করছি:

pidof <name>
kill <#number_which_is_result_of_command>

এটি করার জন্য আমি কীভাবে একটি একক আদেশ লিখতে পারি?


কি শেল? bash? tcsh? ...?
লেভন

2
আপনি আপনার শেলের ডকুমেন্টেশনে কমান্ড বিকল্পের সন্ধান করতে পারেন ।
ডেভিয়েঙ্কারোট

2
আমি এক্সকিল ব্যবহার করে দৃষ্টিগুলিতে দৃষ্টিপাত করি। টার্মিনালে কেবল এক্সকিল টাইপ করুন, আপত্তিজনক অ্যাপ্লিকেশনটিতে কার্সারটি সরান এবং

1
@ অ্যারোচেস্টার যা কাজ করে, তবে জিইউআই পরিবেশের মধ্যে সীমাবদ্ধ, killবিভিন্ন কমান্ড কনসোল থেকে কাজ করবে ( প্লাসগুলিতে স্ক্রিপ্টগুলি স্বয়ংক্রিয় করতে পারে)। তবুও লোকদের xkillনিশ্চিতভাবে বিকল্প সম্পর্কে সচেতন করা ভাল ।
লেভন

নীচের উত্তরগুলির মধ্যে একটি যদি আপনার সমস্যার সমাধান করে, দয়া করে উত্তরের পাশের চেকমার্কে ক্লিক করে এটি গ্রহণ করার বিষয়টি বিবেচনা করুন । এটি উভয় পক্ষকে কিছু রেপ পয়েন্ট দিয়ে পুরস্কৃত করবে এবং এই সমস্যাটিকে সমাধান হিসাবে চিহ্নিত করবে।
লেভন

উত্তর:


18

আপনি নামগুলি দ্বারা প্রক্রিয়াগুলিও মেরে ফেলতে পারেন:

উদাহরণ:

pkill vim  # kill all processes containing vim in the process name

@ লাইভন আপনি কি নিশ্চিত? ইঙ্গিত: এটা কাজ হবে যদি আপনি পরিবর্তন pkillকরতে kill?
মাইকেল

এটা কাজ করবে না, লেভন। কিল -9 তার পিআইডি দ্বারা প্রক্রিয়াটিকে মেরে ফেলে এবং pkill -9 তার নামে প্রক্রিয়াটিকে হত্যা করে।
fromnaboo

6
ছাড়া -oবা -n, সমস্ত একত্রিত প্রক্রিয়াগুলিও pkillহত্যা করে, কেবল একটি নয়।
মিকেল

3
-1 সিগ্কিল (-9) ব্যবহার করার পরামর্শ দেওয়ার জন্য, যা খারাপ প্রক্রিয়া বাস্তুশাস্ত্র। সিগ্কিলের সাথে, প্রক্রিয়াটির মধ্যে থাকা ডেটাগুলি ফ্লাশ করা হয় না, সম্ভাব্য ডেটা দুর্নীতি তৈরি করে।
আর্জেজ

6
পরামর্শ দেওয়া killallহ'ল খুব খারাপ পরামর্শ । আপনি কোন ইউনিক্স / লিনাক্সে আছেন তার উপর নির্ভর করে এটি খুব আলাদা কাজ করে।
মাইকিবি

13

আপনার আদেশের সেট দিয়ে আপনার নির্দিষ্ট প্রশ্নের উত্তর দিতে, ব্যবহার করুন:

kill `pidof <name>`

যেহেতু pidof <name>আপনি যে প্রক্রিয়াটি হত্যার চেষ্টা করছেন তার পিআইডি দেয় যেহেতু আপনি এটিকে কমান্ড লাইন সুইচগুলি ব্যবহার করতে পারেন -9

bashএবং সাথে পরীক্ষিত tcsh


9
বিটিডাব্লু, kill $(pidof <name>)আরও সুসংগত (পসিক্স) এবং অন্য কমান্ড সাবস্টিটিউশন ব্লকের অভ্যন্তরে ব্যবহার করা যেতে পারে ।
রুডল্ফ অ্যাডামকভিক

@ রুডলফএডামকোভিচ আমি সম্মত, এটি স্ক্রিপ্টগুলিতে নিশ্চিত হওয়ার চেয়ে ভাল বিকল্প। তবে একটি দ্রুত টাইপযুক্ত কমান্ডের জন্য আমি ব্যাকটিকগুলি আরও সহজ ব্যবহার করে দেখতে পাই .. এবং এটি উভয় সাধারণ শেল (ব্যাশ এবং টিসিএসসি) দিয়ে কাজ করে .. আমি $টিসিএস দিয়ে কাজ করার সংস্করণটি পাইনি ।
লেভন

এটির সাথে চেষ্টা করে দেখুন tcshএবং ঠিক বলেছেন। তা জানতেন না। তথ্যের জন্য ধন্যবাদ!
রুডল্ফ আদমকভিক

7

লেভনের সম্পর্কে একটি মন্তব্য হওয়া উচিত, তবে এটি করার জন্য আমার এখানে প্রতিনিধিত্বের অভাব রয়েছে:

এই প্রশ্নের গৃহীত উত্তরে আলোচনার বিষয়টিকে উত্সাহিত করা: /server/397762/how-to-make-folders-00-99-with-a-single-command-in-ubuntu

আমি বলব এটি চালানো ভাল (বা পরবর্তী সন্ধানকারীদের জন্য কমপক্ষে দরকারী / পরিষ্কার) হতে পারে

kill $(pidof <name>)

$ () বনাম `Further সম্পর্কিত আরও উল্লেখ: http://mywiki.wooledge.org/BashFAQ/082


বিশেষত নীচের লিঙ্কটি অন্তর্ভুক্ত করার জন্য +1। আমি @ রডলফএডামকোভিচের কাছ থেকে অনুরূপ মন্তব্য পেয়েছি, তার কাছে আমার উত্তর দেখুন। আপনি কি এর এমন কোনও সংস্করণ জানেন যা tcsh এর সাথে কাজ করে? (আমি এখনও শেলটিতে একটি কমান্ড টাইপ করতে ব্যাকটিক্সকে সহজ মনে করি :)
লেভন

আমি কেবল বাশ (লিনাক্সে) এবং ksh (এইচপি-ইউএক্স) নিয়ে কাজ করেছি; দুঃখিত, এখনও tcsh দিয়ে পাথ অতিক্রম করেনি।
ঝিলি ধু

1

আপনি killallনির্দিষ্ট প্রক্রিয়াটি হারাতে কমান্ডও ব্যবহার করতে পারেন ।

killall vim
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.