'শীর্ষ' দিয়ে নির্দিষ্ট প্রক্রিয়া কীভাবে নির্বাচন করবেন?


18

একটি প্রোগ্রামের একাধিক উদাহরণ থাকার ক্ষেত্রে, চলমান pidof programদেয়:

`1 2 3`

top -pকমা দ্বারা আলাদা করা আর্গুমেন্ট স্বীকার করে: 1, 2, 3

এর অর্থ এটি কার্যকর top -p `pidof program`হবে না:

    top: unknown argument '1'
usage:  top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...]

আপনি কি আমাকে এটি করতে পারেন তা প্রদর্শন করতে পারেন। আমি কুয়াশা, সেড ইত্যাদির সাথে পরিচিত নই ...

উত্তর:


25

এর sedমতো সাধারণ জিনিসের বিকল্প হ'ল tr:

top -p $(pidof program | tr ' ' ',')

tr এছাড়াও সহজেই স্পেসের একটি চলক সংখ্যা পরিচালনা করতে পারে:

tr -s ' ' ','

অতিরিক্তভাবে, আপনার যদি এটি উপলব্ধ থাকে তবে pgrepএখানে ভাল কাজ করতে পারে:

top -p $(pgrep -d , program)

নিশ্চিত করুন যে আপনি মধ্যে একটি স্থান ছেড়ে করুন -dএবং ,যুক্তি (deliminator) করা হয় কমা হিসাবে।

এছাড়াও, নোট করুন যে pgrep "প্রোগ্রাম" এর প্রতিটি ফলাফল প্রত্যাবর্তন করবে সুতরাং আপনার যদি "প্রোগ্রাম-ফু" নামে একটি প্রক্রিয়া থাকে তবে এটিও ফিরে আসবে (অতএব নাম pgrep)।


একাধিক প্রোগ্রামের জন্যtop -p $(pgrep -d, "(nginx|mysql)" )
ব্যবহারকারী 2037659


3

এটি একাধিক প্রোগ্রামের দিকে নজর রাখার জন্য দুর্দান্ত কাজ করে:

top -p `pgrep -d, -f program1`, `pgrep -d, -f program2`

আরও ভাল ব্যবহার:top -p $(pgrep -d, "(nginx|mysql)" )
ব্যবহারকারী 2037659
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.