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


44

কখনও কখনও আমি লক্ষ করি যে প্রক্রিয়াটি Pythonস্তব্ধ হয়ে গেছে। তারপরে আমি এটিকে কার্যকলাপ মনিটরের মাধ্যমে হত্যা করব এবং সবকিছু ঠিক আছে।

আমি পরিবর্তে টার্মিনালে এই প্রক্রিয়াটি হত্যা করতে চাই। তবে PIDনামটি দেখার জন্য এটি একপ্রকার অপ্রয়োজনীয় মনে হচ্ছে কারণ নাম অনুসারে কেবল একটি প্রক্রিয়া আছে Python

কোনও প্রক্রিয়াটির অনন্য নাম দিয়ে হত্যা করা কি সম্ভব?

উত্তর:


52

আপনার কমান্ডটি চালানো উচিত sudo killall Python

আপনাকে রুট হিসাবে চালানো দরকার কারণ পাইথন ব্যবহারকারীর নয়, মূলের অন্তর্ভুক্ত।


আমি এটি করেছি:No matching processes belonging to you were found
মার্চমেট

1
পাইথন প্রক্রিয়াটি আপনার ব্যবহারকারীর অন্তর্ভুক্ত নয়। এটা রুট হিসাবে পরিবর্তে চেষ্টা করুন: sudo killall Python
হেনিংজে

1
@ হেনিংজেজে সুডো কোনও কারণে কাজ করেছেন। আমি কেবল দেখেছি যে প্রক্রিয়াটি আমার অন্তর্ভুক্ত। প্রক্রিয়াটি এটি sudoব্যবহার না করেই আমি প্রক্রিয়াটি হারাতে পারি PID। কেন?
সৌম্যমেট

1
আমি ভাবছি কারণ এটি একটি পিআইডি ব্যবহারকারীর ব্যবহারকারী / মূল নির্দিষ্ট নয়, যেখানে একটি প্রক্রিয়া নাম। আমি এই উত্তরটি প্রতিবিম্বিত করতে সম্পাদনা করব sudo
ম্যাট লাভ

এটি একাধিক
পরিচয়যুক্ত

21
sudo killall -s SIGINT "process name"

আপনি যদি সুডো হতে না পারেন কারণ এটি পাসওয়ার্ডের জন্য জিজ্ঞাসা করবে এবং আমি মনে করি আপনি এটি কোনও স্ক্রিপ্টে চান না। পিকিল উদ্ধারের জন্য আসে :)

pkill -9 "process name"

5

আপনি GUI সমাধান হয়ে অ্যাক্টিভিটি মনিটর.অ্যাপ ব্যবহার করে অ্যাপ্লিকেশনগুলিকে হত্যা করতে পারেন। এটি একটি সাধারণ "শক্তি ছাড়" হবে। তবে, কিছু পরিস্থিতিতে এটি সর্বদা বিভিন্ন কারণে কার্যকর হয় না!

উপরের মন্তব্যে বর্ণিত কমান্ড-লাইন সমাধানটিতে ব্যবহারকারীর জন্য আরও অনেক বিকল্প রয়েছে। sudo killall Pythonবা যদি এটি একটি চলমান প্রোগ্রাম-প্রক্রিয়া sudo killall /Applications/Whatever.appহয় তবে প্রক্রিয়াটি পাশাপাশি ছাড়তে বাধ্য করে।

আপনি একটি নির্ধারিত পিআইডি ব্যবহার করে কোনও প্রক্রিয়া ছাড়তে বাধ্য করতে পারেন । ক্রিয়াকলাপ মনিটর.এপ ক্ষেত্রে এটি হবে kill 25794বাkill -9 25794

এখানে চিত্র বর্ণনা লিখুন

আরও কিছু বিশদ:

টার্মিনালের কিল প্রোগ্রামটি কেবল একটি প্রোগ্রামকে সরিয়ে দেয়, যেমন রিমোট কন্ট্রোল দ্বারা। (এমনকি আপনি যখন কোনও দূরবর্তী অবস্থান থেকে আপনার ম্যাকের মধ্যে এসএসএইচ করেন তখন এটি কাজ করে।

আপনি যদি সুডো ব্যবহার না করেন তবে আপনি কেবল নিজেরাই "নিজের মালিকানাধীন" প্রোগ্রামগুলি হত্যা করতে পারবেন - এটি আপনার অ্যাকাউন্টের অধীনে চলছে। (অপারেটিং সিস্টেম নিজেই — মূল — সর্বদা নিজস্ব প্রোগ্রাম চালাচ্ছে এবং প্রযুক্তিগতভাবে এটি সম্ভব যে আপনি ম্যাক ব্যবহার করার সময়ও রাস্তা থেকে ডায়াল করে অন্যান্য লোকেরা তাদের নিজস্ব প্রোগ্রাম চালাচ্ছে!)

-9পতাকা একটি "অ catchable, অ-উপেক্ষণীয় হত্যা।" অন্য কথায়, এটা একটি শিল্প-শক্তি গুপ্তঘাতক যে তুমি হত্যা প্রোগ্রাম থেকে করুণা জন্য কোন আবেদন গ্রহণ করে না।


5

যদিও এটি পিআইডি ব্যবহার করে , আমি নিম্নলিখিতগুলি বেশ কার্যকর বলে মনে করি:

ps aux | grep "String or name of process"

এই লাইনটি ম্যাচিং প্রক্রিয়া (এস) সম্পর্কিত একটি হোস্ট তথ্য দেয় এবং আপনি killযেখান থেকে বা যা কিছু করতে পারেন ।


2
pkill -f "process name"

Https://stackoverflow.com/a/22334807/1243763 এর উপর ভিত্তি করে


1
ম্যাকোজে কোনও পিডোফ আছে? এবং কেন পিকিল ব্যবহার করবেন না যার অতিরিক্ত প্রক্রিয়াতে সমস্যা নেই?
nohillside

রাজি এবং আমি যে মিস করেছি। আমার pidofবাইনারি ছিল নন-স্ট্যান্ডার্ড ওরফে হিসাবে ps -e -o pid,args | grep -E "\b$1\b" | awk "{print \$1}" | tr '\n' ' '। সুতরাং, pkill -fআরও জ্ঞান করে তোলে।
সমীর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.