শীর্ষে একটি নির্দিষ্ট প্রক্রিয়াটি কীভাবে দেখুন


47

নির্দিষ্ট প্রক্রিয়াটি ট্র্যাক করার জন্য শীর্ষের সাথে তুলনামূলকভাবে কড়া শক্ত বিকল্প রয়েছে?
আদর্শভাবে কোনও মানব পাঠযোগ্য মান দ্বারা প্রক্রিয়াটি চিহ্নিত করে? যেমন chromeবা java

অন্য কথায়, আমি শীর্ষস্থানীয় সমস্ত সাধারণ তথ্য দেখতে চাই, তবে ফলাফলগুলি সরবরাহকৃত প্যারামিটারগুলিতে ফিল্টার করা যায় ie 'ক্রোম' বা 'জাভা'


1
আপনি চেষ্টা করেছেন top | grep chrome?
পান্ড্য

1
আপনার কাছে ব্যবহার করতে পারেন ps -x | chromePID পেতে (PID দেখানো যাক 2034) তারপরtop | grep 2034
পান্ড্য

top | grep chromeপুরোপুরি কাজ - ধন্যবাদ!
মাইকেল কলম্যান

@ পান্ড্য - এছাড়াও, আমি যে প্রক্রিয়াটি সন্ধান করছিলাম তা কেবল কয়েক সেকেন্ডের জন্য চালিত হয়েছিল (একটি সংহত পরীক্ষার সময় নোড.জেএস) - যার অর্থ আমি যখন ps -x | process_nameপিআইডি পেতাম, যখন আমি আবার প্রক্রিয়া চালাতাম তখন পিআইডি আলাদা ছিল এবং তাই আসল পিআইডি এটি সনাক্ত করতে পারে না।
মাইকেল কোলম্যান

উত্তর:


24

আপনি কেবল ব্যবহার করতে পারেন grep:

NAME
       grep, egrep, fgrep, rgrep - print lines matching a pattern

SYNOPSIS
       grep [OPTIONS] PATTERN [FILE...]
       grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

DESCRIPTION
       grep  searches  the  named  input  FILEs (or standard input if no files are named, or if a single
       hyphen-minus (-) is given as file name) for lines containing a match to the  given  PATTERN.   By
       default, grep prints the matching lines.

আপনি যা চান আউটপুট পেতে নিম্নলিখিত কমান্ডটি চালান (প্রাক্তন ক্রোম):

top | grep chrome

এখানে আমরা grepপাইপলাইনগুলি ব্যবহার করছি |যাতে top& grepসমান্তরাল চালান; topআউটপুট grep(ইনপুট হিসাবে) দেওয়া হয় এবং বন্ধ হওয়া অবধি grep chromeমেলানো লাইনগুলি ফিল্টার করে।chrometop


1
ধন্যবাদ, আমি জানি অন্য লোকদের তাদের পছন্দ আছে, তবে আমি এই উত্তরটি পছন্দ করি কারণ এটি বোঝা সহজ, এবং তাই ভবিষ্যতেও এটি মনে রাখা সহজ! - আমি উঁচু হতে পারতাম তবে আমার যথেষ্ট খ্যাতি নেই ...
মাইকেল কলম্যান

3
প্রক্রিয়াটি শীর্ষের প্রদর্শিত আউটপুটে থাকলে কেবল এটি কাজ করে। আমি মনে করি @ রমেশের উত্তরটি গ্রহণযোগ্য হওয়া উচিত
জেবি

@ জ্যামিবুলক কেবল প্রশ্নটির সাথে সম্পর্কিত topএবং ওপি ভিত্তিক ফিল্টার প্রক্রিয়া করতে চান top
পান্ড্য

@ পান্ড্য আসলে, আমি আমার আগের মন্তব্যটি প্রত্যাহার করেছিলাম কারণ এটি আমার কোডের একটি ভুলের ভিত্তিতে ছিল। তবুও আমার কাছে মনে হয় @ রমেশের উত্তরটি আরও ভাল (এবং উপরে ভিত্তিতে ফিল্টার প্রক্রিয়াও)। আমি সহজে সঙ্গে পুলিশের যেমন ভাঙ্গতে পারেsleep 10 & top | grep sleep
JB

আমি unix.stackexchange.com/a/165343/48973 ভাল পছন্দ করি কারণ এটি শিরোনাম দেখায়।
রায়ান

39

আমার অন্য উত্তরটি থেকে আপনি এখানে কিছু করতে পারেন,

top -p `pgrep "java"`

4
top -p `pgrep "java"`বাশ শেলের মধ্যে আমাকে নীচের ত্রুটি দেয় top: -p requires argumentটপ-পিpgrep -d ',' "apache2" আমার পক্ষে কাজ করেছিল, কিন্তু কমান্ডটি কী করছে তা আমি সত্যিই বুঝতে পারি নি - এটি একাধিক যুক্তি শীর্ষে ফিড করার উপায় কি?
মাইকেল কলম্যান

@ রমেশ আপনাকে pidকাজ করতে আলাদা কমে আলাদা তালিকা দেওয়া দরকার ।
কান্নান মোহন

3
এটি সঠিক উত্তর।
j03m

1
+1 এটি সঠিক উত্তর। "শীর্ষ | গ্রেপ ক্রোম" বরং বর্বর, কারণ এটি শীর্ষক "ক্রোম" এর সাথে মিলছে না, শিরোনাম এবং কলাম লেবেলের মতো জিনিস হারাচ্ছে top Pgrep থেকে আউটপুট সহ একটি সাব-শেল ব্যবহার করা ইউনিক্স দর্শনের সঠিক প্রয়োগ।
জন এম নাগলিক 25'17

2
@ ফ্লোরোপ্যারিসি এটি হতে পারে কারণ আপনি যে নির্বাচকটি ব্যবহার করছেন সেটি একাধিক প্রক্রিয়ার সাথে মেলে। এক বা একাধিক মিলের প্রক্রিয়াগুলির সাথে কাজ করে এমন একটি আদেশের জন্য এই উত্তরটি দেখুন ।
মাইকেল হেজে

21
top -p `pgrep -d "," java`

ব্যাখ্যা:

  1. top -p pid1,pid2: একাধিক প্রক্রিয়া সম্পর্কিত তথ্য দেখান, পিডটি আলাদা করা উচিত ,
  2. pgrep -d "," java: সমস্ত জাভা প্রোগ্রামের পিডগুলি মুদ্রণ করুন, পিডগুলি একটি নতুন লাইন দ্বারা ডিফল্টরূপে পৃথক করা হয়। শীর্ষ দ্বারা প্রয়োজনীয় হিসাবে -d ","এটি পৃথক করতে ব্যবহার করুন ,

আপনি যদি ত্রুটি দেখতে top: -p argument missingপান তবে এর অর্থ কোনও জাভা প্রোগ্রাম চলছে না, অর্থাত্ পিগ্রিপের কোনও আউটপুট নেই।


1
এই সমাধানটি কেবল top -p পিগ্রেপ "জাভা" than using ব্যবহারের চেয়ে আরও ভাল কাজ করে । ধন্যবাদ.
loretoparisi

1
pgrepএর প্রস্থান কোডটি পরীক্ষা করে ত্রুটি প্রতিরোধ করুন :pids="$(pgrep -d, java)" && top -p "$pids"
42

12

ওপেনবিএসডি-তে top, কেবল gযে কমান্ডের নামটি আপনি ফিল্টার করতে চান সেটি চাপুন এবং সন্নিবেশ করুন।

ইন topযেমন উবুন্টু, প্রেস উপর oএবং এন্টার যেমন COMMAND=chromeশুধুমাত্র থেকে এন্ট্রি দেখাতে COMMANDকলাম যে সমান chrome

লিনাক্সগুলিতে যেগুলি topউবুন্টুর মতো একই প্রয়োগ ব্যবহার করে , ম্যানুয়ালটিতে একটি উইন্ডো বিভাগে ফিল্টারিং পড়ুন top


7

অন্যান্য ভাল উত্তর সরবরাহ করা হয়েছে, তবে আমি কিছু সময় আগে একটি স্ক্রিপ্ট তৈরি করেছি, যার নাম আমি পিটিওপি রেখেছি, এটি আমার ভাল পরিবেশন করেছে:

#!/bin/sh
top -p $(pidof "$@" |sed s#\ #,#g) 2>/dev/null
if [ $? -ne 0 ]; then
  echo No processes with the specified name\(s\) were found
fi

এটি নির্দিষ্ট করার জন্য একাধিক প্রক্রিয়া নামগুলিকে সমর্থন করে (যেমন ptop bash chrome) এবং নির্দিষ্ট নামের সাথে কোনও প্রক্রিয়া চলমান / না থাকলে ক্ষেত্রে একটি দুর্দান্ত ত্রুটি বার্তা সরবরাহ করে।


3

আপনি যদি topপ্রসঙ্গের জন্য দেখতে এবং অন্যান্য সমস্ত প্রক্রিয়াটি দেখতে চান তবে আপনি Lনিজের প্রক্রিয়াটি অনুসন্ধান করতে টিপতে পারেন:

Locate string chrome

এটি chromeনামের সাথে যে কোনও প্রক্রিয়া হাইলাইট করবে এবং তা নজরে আনবে। &পরের ম্যাচে যেতে ব্যবহার করুন ।

cপ্রক্রিয়াটির নাম এবং সম্পূর্ণ কমান্ডের মধ্যে স্যুইচ করতে আপনি টিপতে পারেন ।


এটি কারণ আরটিএফএমের লোকেরা! man top | less +/5d
সিআরপিএন

0

আপনি নির্দিষ্ট প্রক্রিয়াগুলি বিচ্ছিন্ন করতে শীর্ষে একটি ফিল্টারও ব্যবহার করতে পারেন। ফিল্টার প্রম্পট আনতে 'ও' টিপুন। তারপরে FIELD = মান হিসাবে ফর্ম্যাট হওয়া ফিল্টার টাইপ করুন। উদাহরণস্বরূপ, সমস্ত tmux প্রক্রিয়া ফিল্টার করতে, ব্যবহার করুন:

COMMAND=tmux

ফিল্টারগুলি পুনরায় সেট করতে '=' ব্যবহার করুন। শীর্ষস্থানীয় পৃষ্ঠাতে 'ফিল্টারিং' শীর্ষক বিভাগটি দেখুন।

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