উবুন্টুতে ব্যবহারকারীদের সমস্ত প্রক্রিয়া মেরে ফেলবেন?


20

একজন ব্যবহারকারীর সমস্ত প্রক্রিয়া কীভাবে হত্যা করা যায়?

যখন আমি তৈরি ps auxকরি আমি বেশ কয়েকটি ব্যবহারকারীর সাথে প্রক্রিয়াটির একটি তালিকা পেয়েছি এবং আমি ব্যবহারকারীর সমস্ত প্রক্রিয়াটি name1উদাহরণস্বরূপ হত্যা করতে চাই ! উবুন্টুতে এটি করার একটি আদেশ কী?



1
যদি ব্যবহারকারীরা প্রকৃত ব্যক্তি হয় তবে এটি সম্ভবত একটি ভাল ধারণা নয়। আমিও মনে করি সময় বাঁচাতে আপনি প্রক্রিয়াগুলি মেরে ফেলতে চান। এটি একটি খুব খারাপ ধারণা। উদাহরণস্বরূপ, উবুন্টুতে পরিষেবাগুলি ব্যবহার বন্ধ করা যেতে পারে sudo service the-service-name stop। খুনের প্রক্রিয়াগুলি দূষিত ফাইল, ডাটাবেস ইত্যাদির উপর ছেড়ে যেতে পারে
টিকিটাক

উত্তর:


27

এই ক্ষেত্রে, এটি বেশ সহজ, আপনি killallএকবারে একাধিক প্রক্রিয়াতে হত্যা বা অন্য কোনও সংকেত প্রেরণ করতে ব্যবহার করতে পারেন । "ফিল্টারিং" বিকল্পগুলির মধ্যে একটি হ'ল মালিক:killall --user name1


আমি --userযুক্তি সম্পর্কে সচেতন ছিলাম না , ধন্যবাদ!
jmtd

4
এটি লক্ষ করা উচিত যে killallউদাহরণস্বরূপ সোলারিস ইউনিক্স এটি চলমান সমস্ত প্রক্রিয়া হত্যা করে ! দেখুন: en.wikipedia.org/wiki/Killall
donothingsuccessfully

এটি মূলত উবুন্টু 18
লগড হয়েছে

14

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

pkill আরও বহনযোগ্য

pkill -u username

আমি killallউবুন্টুতে পাই না , তবে pkillএটি ইতিমধ্যে ইনস্টল।
ডেভিড.প্রেজ

2

তারপরে ব্যবহারকারীকে সনাক্ত করুন killall -user <username>

তাদের লগইন সেশন হত্যার সাথে জড়িত একটি বাশ (বা অনুরূপ) প্রক্রিয়া থাকবে যা তাদের সেশনটি মেরে ফেলবে।

কোনও ব্যবহারকারী কী করছে তার সম্ভাব্য আরও ভাল ওভারভিউ পেতে - চেষ্টা করুন pstree <username>


ব্যবহারকারীর যেমন আপনার দুটি ড্যাশ দরকার যেমন--user
jmtd

1

ইনস্টল করুন slay:

প্রবণতা ইনস্টল বধ

তারপর ইস্যু slay some-user

সচেতন থাকুন যে আপনি যদি ব্যবহারকারীদের উদ্দেশ্যে জিনিসটি সরিয়ে ফেলে থাকেন তবে আপনি কীভাবে উদ্দেশ্যটি জানেন না, আপনি আপনার মেশিনকে অকেজো হিসাবে রেন্ডার করতে পারেন (আপনি পুনরায় আরম্ভ না করা পর্যন্ত)।

আপনি যদি সত্যিই হত্যা ইনস্টল করতে না চান:

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill

(একটু অপেক্ষা কর)

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill -9

1
বিটিডাব্লু awkনিজেই কিছু গ্রেপ করতে পারে। করার দরকার নেই grep smth | awk, কারণ আপনি কেবল awk '/smth/{...}'পরিবর্তে ব্যবহার করতে পারেন ।
রাশ

আপনার জন্য এখানে একটি সুবিধাজনক সামান্য কাজ। killuser () { ps faux| awk -v user=$1 '$1==user{ system("kill -9 " $2) }' ;};
rcjohnson
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.