কীভাবে কেবল কোনও প্রক্রিয়া এবং এর বংশধর প্রক্রিয়াগুলি হটোপে প্রদর্শিত হয়?


10

আমি কেবল একটি প্রক্রিয়া এবং এর শিশুরা প্রক্রিয়া পর্যবেক্ষণ করতে চাই htop। পিতামাতার প্রক্রিয়াটির নামে ফিল্টারিং কেবলমাত্র পিতামাতার প্রক্রিয়াটিকেই লিপ্ত করে, এর সন্তানদের নয়। আমি বাচ্চাদের প্রক্রিয়াগুলি কীভাবে দেখাব?

উত্তর:


8

লিনাক্সের অধীনে, আপনি এটি করতে পারেন:

htop -p `pstree -p $PID | perl -ne 'push @t, /\((\d+)\)/g; END { print join ",", @t }'`

$PIDমূল প্রক্রিয়া যেখানে । এটি নিম্নলিখিত হিসাবে কাজ করে:

  1. ওয়ান্টেড প্রসেসের তালিকাটি তাদের পিআইডি দিয়ে তালিকাভুক্ত pstreeকরার -pবিকল্পটি ব্যবহার করে প্রাপ্ত হয় ।
  2. আউটপুটটি পার্ল স্ক্রিপ্টে পাইপ করা হয় যা পিআইডি'র পুনরুদ্ধার করে নিয়মিত এক্সপ্রেশন (এখানে, \((\d+)\)) ব্যবহার করে এবং কমা দিয়ে আলাদা করে আউটপুট দেয়।
  3. এই তালিকাটি একটি যুক্তি হিসাবে সরবরাহ করা হয় htop -p

ম্যাক ওএসের মতো অন্যান্য ওএসের জন্য আপনাকে পিআইডিগুলি পুনরুদ্ধার করে এমন নিয়মিত অভিব্যক্তিটি মানিয়ে নিতে পারে।

দ্রষ্টব্য: দুর্ভাগ্যক্রমে নতুন বাচ্চাদের পরে তালিকা তৈরি করা আপডেট করা সম্ভব নয়, কারণ একবার htopমৃত্যুদন্ড কার্যকর করা হয়ে গেলে , অন্য কেউ কিছুই করতে পারে না। এটি htop(বর্তমান সংস্করণ: ২.০.২) এর সীমাবদ্ধতা ।


$PIDপ্রক্রিয়াটির নাম হতে পারে, বা এটি আইডি হতে হবে?
বেকো

@ বেকো পিড $PIDহতে হবে তবে আপনি প্রক্রিয়াটির নামটি দিয়ে আইডিটি পেতে পারেন pgrep
ভিঙ্ক 17

5
যদিও নতুন বাচ্চাদের
উত্সাহ দেওয়া হচ্ছে

আমাকেও ব্ল্যাক_পুপিডোগ করুন!
বেকো

সঙ্গে MacOS উপর pstree: homebrew থেকেhtop -p `pstree -p $PID | perl -ne 'push @t, /--- (\d+) /g; END { print join ",", @t }'`
jpsim

0
htop -p $(ps -ef | awk -v proc=15305 '$3 == proc { cnt++;if (cnt == 1) { printf "%s",$2 } else { printf ",%s",$2 } }')

পিএস-শেফের আউটপুট থেকে প্রসেস আইডি পাস্ক হিসাবে প্রসেস আইডি পাস করার পরে কৌমাকৃত পৃথকীকরণের প্রক্রিয়া আইডিটির তালিকা তৈরি করতে এবং এর পরে এইচটিওপি-পি-তে প্রেরণ করার জন্য ডাব্লুক ব্যবহার করুন।

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