সাইগউইনে ক্রমাগত উইন্ডোজ প্রক্রিয়াগুলি দেখানোর কোনও উপায় আছে কি?


13

আমি শীর্ষ বা কোনও ভেরিয়েন্ট ব্যবহার করে সাইগউইন শেল থেকে প্রক্রিয়াগুলি পর্যবেক্ষণ করতে চাই। এর কারণ হ'ল এটির রিয়েলটাইম রিপোর্টিং এবং ধ্রুবক আপডেট। তবে সাইগউইনের অধীনে, শীর্ষগুলি উইন্ডোজ প্রক্রিয়াগুলির বিষয়ে রিপোর্ট করবে না।

তেহ ফোরামগুলি আমি ps -Wবিকল্প হিসাবে ব্যবহার করার পরামর্শ দিয়েছি , তবে স্পষ্টতই এটির ফলে আমার আর রিয়েলটাইম তথ্য না দেওয়ার, তবে আমি যখনই কমান্ডটি টাইপ করি তখন কেবল একটি স্ট্যাটিক স্ন্যাপশট।

topআমার সমস্ত প্রক্রিয়া প্রদর্শন করার জন্য সাইগউইনে কাজ করার কোনও উপায় কি কেবল সাইগুইনস প্রক্রিয়া নয়?


1
এটির জন্য বিশেষত সাইগউইনে ভিত্তি করে থাকার কোনও কারণ আছে কি? আপনি যদি এমন কিছু চান যা উইন্ডোজ প্রসেসগুলি চলমান ট্যাবুলার বিন্যাসে (যেমন top) চালনার জন্য ডেটার বিশদ তালিকা সরবরাহ করে , তবে প্রসেস এক্সপ্লোরার
ডারথ অ্যান্ড্রয়েড

উত্তর:


12

বাশ শেল থেকে আপনি এই কমান্ড লাইনের সাহায্যে সমস্ত উইন্ডো প্রক্রিয়া পর্যবেক্ষণ করতে পারেন:

watch "ps -W" # pipe to grep for filtering

সমস্ত জাভা প্রক্রিয়াগুলি দেখতে উদাহরণস্বরূপ:

watch "ps -W | grep java"

নোট করুন যে "পিএস-ডাব্লু" -তে সাইগউইন এবং নন-সিগউইন উভয় প্রক্রিয়া তালিকাভুক্ত করা হয়।


হয় ps -Wবা ps --windowsকাজ করুন, দেখুনps --help
টিমো

2

আপনাকে সাইগউইনের জন্য প্রোপস লাইব্রেরি ইনস্টল করতে হবে, এতে শীর্ষস্থানীয় প্রোগ্রাম অন্তর্ভুক্ত রয়েছে, তবে এটি কেবল সাইগউইনে চলমান প্রক্রিয়াগুলির তালিকাবদ্ধ করবে। আপনি যদি উইন্ডোতে চলমান সমস্ত প্রক্রিয়া দেখতে চান তবে এই উত্তরটি দেখুন: /programming/3503681/cygwin-top-command-see-processes- সব- ব্যবহারকারীর জন্য


1

দেখে মনে হচ্ছে আপনি যেমন কিছু করতে পারেন:

wmic process get ProcessId,Name,UserModeTime,KernelModeTime /EVERY:1

সেখানে ব্যবহারকারীর এবং কার্নেল মোডের সময়গুলি 1 / 10,000,000 সেকেন্ডের মধ্যে প্রকাশিত বলে মনে হচ্ছে।

প্রতি সেকেন্ডে সিপিইউ-ব্যবহার পেতে আপনার আউটপুট পোস্ট-প্রক্রিয়া করতে সক্ষম হওয়া উচিত।

এখানে সাইগউইনের ব্যবহার perl:

wmic process get ProcessId,Name,UserModeTime,KernelModeTime /EVERY:1 |
  perl -lne '
    if (/\S/) {
      my ($k,$c,$p,$u) = split /\s{2,}/;
      $n{"$p\t$c"}=$k+$u;
    } else {
      my %c;
      for my $k (keys %n) {
        $c{$k} = $n{$k} - $o{$k} if defined $o{$k}
      }
      print "$_\t" . $c{$_}/1e5 for (sort {$c{$b}<=>$c{$a}} keys %c)[0..20];
      %o = %n; %n = undef; print ""
    }'

ফলাফল যেমন:

0       System Idle Process     588.12377
2196    sh.exe  107.00075
248     svchost.exe     85.80055
7140    explorer.exe    26.52017
[...]

প্রতি মুহূর্ত.

মনে রাখবেন যে সিস্টেম নিষ্ক্রিয় প্রক্রিয়াটি যদি অলস সিস্টেমে মাত্র 800% এর নিচে দেখায়, কারণ এটি আপনার সিপিইউর সমস্ত সিপিইউ সময় গণনা করে আপনার সিস্টেমে 8 সিপিইউ কোর (কমপক্ষে 8 টি থ্রেড) রয়েছে।

এছাড়াও লক্ষ্য করুন যে উপরেরটি EVERY:1একটি মিথ্যা। wmicপ্রতি সেকেন্ডে যে আউটপুট দেয় না বলে মনে হচ্ছে। সম্ভবত, এটি প্রতিটি প্রতিবেদনের মধ্যে প্রায় 1 সেকেন্ড ঘুমায় এবং প্রতিবেদনটি গণনা করতে যে সময় লাগে তার জন্য ক্ষতিপূরণ দেয় না। সুতরাং অনুশীলনে, এটি প্রতি 1 সেকেন্ড এবং কিছুটা চলতে থাকবে যার অর্থ এই শতাংশগুলি খুব সঠিক এবং কিছুটা অতিরিক্ত বিবেচিত হয় না।

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