পিএস-শেফ | গ্রেপ কীওয়ার্ড থেকে পিডস পাওয়া


111

আমি ps -ef | grep "keyword"একটি ডেমন প্রক্রিয়াটির পিড নির্ধারণ করতে ব্যবহার করতে চাই (এতে পিএস-শেফের আউটপুটটিতে একটি অনন্য স্ট্রিং রয়েছে)।

আমি প্রক্রিয়াটি হত্যা করতে পারি pkill keywordএমন কোনও আদেশ আছে যা পিডকে হত্যা করার পরিবর্তে ফিরিয়ে দেয়? (পিডোফ বা পিগ্রেপ কাজ করে না)

উত্তর:


231

আপনি যতক্ষণ না বিকল্পগুলি অন্তর্ভুক্ত করেন ততক্ষণ আপনি ব্যবহার করতে পারেন । এটি কেবল প্রক্রিয়া নামের পরিবর্তে পুরো কমান্ডে (যুক্তি সহ) মিলের কীওয়ার্ড তৈরি করে।pgrep-fpgrep

pgrep -f keyword

থেকে man পৃষ্ঠা :

-f       প্যাটার্নটি সাধারণত প্রক্রিয়া নামের সাথে মিলে যায়। কখন -fসেট করা হয়, সম্পূর্ণ কমান্ড লাইন ব্যবহার করা হয়।


আপনি যদি সত্যিই পিগ্রেপ এড়াতে চান তবে চেষ্টা করুন:

ps -ef | awk '/[k]eyword/{print $2}'

মূলশব্দটির []প্রথম অক্ষরের চারপাশে নোট করুন । awkকমান্ড নিজেই মেলে তা এড়াতে এটি একটি কার্যকর কৌশল ।


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

6
মারার আউটপুটটি পাস করার একটি উপায় হ'ল: kill -9 `pgrep -f keyword`
ক্রিস

এই উত্তরটি সর্বকালের সেরা। আমি এতটা সময় নষ্ট করেছিps aux | grep chrome
ব্র্যান্ডন

চালাকিটি ব্যবহার করতে [k]হয়েছিল pgrep -f। আমার স্ক্রিপ্টটি একটি সাবশেলে চলছিল তাই আমি মনে করি এটির মূল আদেশটি বাছাই করা হয়েছিল (নিশ্চিতভাবে জানা খুব কঠিন - কমান্ডটি সম্পাদন করার সময় এটি যে
পিড

2
@ ক্রিস এই ব্যবহারের ক্ষেত্রে কেবল ব্যবহার করা আরও সহজবোধ্য হবে না pkill -9 -f keyword?
oidualc

53

চেষ্টা

ps -ef | grep "KEYWORD" | awk '{print $2}'

এই কমান্ডটি আপনাকে সেগুলির মধ্যে কীওয়ার্ড সহ প্রক্রিয়াগুলির পিআইডি দিতে হবে। এই উদাহরণস্বরূপ, awkআউটপুট থেকে ২ য় কলামে যা আছে তা ফিরিয়ে দিচ্ছেন।


2
কারণ এটি একাধিক পিডকে ফিরিয়ে দিতে পারে আপনি সংযোজন করে প্রথমটি পেতে পারেন | head -1
ক্রিস

'হেড -1' কিছু লিনাক্সে গ্রেপ পিআইডি ফিরে আসবে, লেজ -1 হওয়া উচিত।
জোয়াও ভিটোরিনো

22

ps -ef | grep KEYWORD | grep -v grep | awk '{print $2}'


4
সম্ভবত টাইপো? PS -ef | গ্রেপ কিওয়ার্ড | grep -v গ্রেপ | awk '{মুদ্রণ $ 2}'
rmv

ফেরত পিআইডি কীভাবে "কিল -9" তে পাস করবেন জানেন ?!
আলেবাদাওয়ী

3
@alybadawy শুধু যোগ | xargs kill -9করতে শেষ
patte

8

আমি ব্যবহার করি

ps -C "keyword" -o pid=

এই কমান্ডটি আপনাকে একটি পিআইডি নম্বর দেওয়া উচিত।


7

এটি লিনাক্স: পিডোফ কীওয়ার্ডে উপলব্ধ


3

একটি নির্দিষ্ট কীওয়ার্ড দ্বারা একটি প্রক্রিয়া হ্রাস করতে আপনি ~/.bashrc(লিনাক্স) বা ~/.bash_profile(ম্যাক) মধ্যে একটি উপকরণ তৈরি করতে পারেন ।

alias killps="kill -9 `ps -ef | grep '[k]eyword' | awk '{print $2}'`"

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