জাভা প্রক্রিয়াগুলির তালিকা


113

আমি বাশাতে সমস্ত জাভা প্রক্রিয়া কীভাবে তালিকাবদ্ধ করতে পারি? আমার কমান্ড লাইন দরকার আমি জানি যে কমান্ড আছে psকিন্তু আমি জানি না আমার কী পরামিতি ব্যবহার করা উচিত।


1
দয়া করে এটিকে গবেষণা করতে এবং আপনার সমস্যা বর্ণনা করার জন্য আরও কিছু প্রচেষ্টা দেখান, আপনি ঠিক কী পরে আছেন তার উপর নির্ভর করে প্রচুর সম্ভাবনা রয়েছে।
মাদুর

3
আপনি কি জানেন না থাকলে psতারপর প্রথম চেষ্টা man ps, info psএবং ইন্টারনেট এটা সম্পর্কে জানতে।
ssapkota

উত্তর:


148

চেষ্টা করে দেখুন:

ps aux | grep java

এবং দেখুন আপনি কিভাবে পেতে


109

সাম্প্রতিক জাভা জাভা ভার্চুয়াল মেশিন প্রক্রিয়া স্থিতি সরঞ্জাম "jps" এর সাথে আসে

http://download.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html

উদাহরণ স্বরূপ,

[nsushkin@fulton support]$ jps -m
2120 Main --userdir /home/nsushkin/.netbeans/7.0 --branding nb
26546 charles.jar
17600 Jps -m

2
কেবল একটি নোট: জেপিএস কেবল জেডিকে দিয়ে পাঠায়, জেআরই নয়। তাদের উপর প্লে ওল 'জাভা রানটাইমযুক্ত মেশিনগুলিতে এই সরঞ্জামটি থাকবে না।
আগুয়াজালে

আমি কীভাবে চলমান জাভা প্রক্রিয়া গণনা করতে পারি?
জেট 12

50
jps -lV

সবচেয়ে দরকারী। প্রিন্টগুলি কেবল পিড এবং যোগ্য মূল শ্রেণীর নাম:

2472 com.intellij.idea.Main
11111 sun.tools.jps.Jps
9030 play.server.Server
2752 org.jetbrains.idea.maven.server.RemoteMavenServer

31

আপনি সিঙ্গল কমান্ড পিজ্রিপও ব্যবহার করতে পারেন (পাইপ এবং একাধিক কমান্ড ব্যবহার করার প্রয়োজন নেই):

pgrep -fl java

27

জাভা 7 থেকে শুরু করে , সবচেয়ে সহজ উপায় এবং কম ত্রুটিযুক্ত প্রবণটি হ'ল jcmd জেডিকে-র অংশ এমন কমান্ডটি ব্যবহার করা যাতে এটি সমস্ত ওএসে একইভাবে কাজ করবে।

উদাহরণ:

> jcmd
5485 sun.tools.jcmd.JCmd
2125 MyProgram

jcmd চলমান জাভা ভার্চুয়াল মেশিনে (জেভিএম) ডায়াগনস্টিক কমান্ড অনুরোধগুলি প্রেরণ করতে দেয়।

কীভাবে ব্যবহার করবেন সেjcmd সম্পর্কে আরও বিশদ ।

আরও দেখুন ইউটিলিটিjcmd


1
বাহ, এটি এর চেয়েও ভালjps
শ্রীধর সারনোবাত


12

এটি লিনাক্স পরিবেশে চলমান সমস্ত জাভা প্রক্রিয়া ফিরিয়ে দেবে। তারপরে আপনি প্রক্রিয়া আইডি ব্যবহার করে প্রক্রিয়াটি মেরে ফেলতে পারেন।

ps -e|grep java


6

আমি যদি কেবল জাভা প্রক্রিয়াগুলির তালিকা করতে চাই তবে ব্যবহার করুন:

ps -A | grep java

5
pgrep -l java
ps -ef | grep java

5
এই কোড স্নিপেটের জন্য আপনাকে ধন্যবাদ, যা কিছু তাত্ক্ষণিক সহায়তা সরবরাহ করতে পারে। একটি সঠিক ব্যাখ্যা কেন এটি সমস্যার একটি ভাল সমাধান তা দেখিয়ে তার শিক্ষাগত মানকে ব্যাপকভাবে উন্নত করবে এবং ভবিষ্যতের পাঠকদের জন্য একই, তবে অভিন্ন নয়, এমন প্রশ্নের সাথে আরও দরকারী করে তুলবে। দয়া করে ব্যাখ্যা যুক্ত করতে আপনার উত্তর সম্পাদনা করুন, এবং কোন সীমাবদ্ধতা এবং অনুমানগুলি প্রযোজ্য তা একটি ইঙ্গিত দিন। বিশেষত, তাদের মধ্যে দ্বিতীয়টি কেন প্রক্রিয়াটি দেখায় না ? grep
টবি স্পিড 11

4
ps axuwww | grep java | grep -v grep

উপরের উইল

  • লম্বা রেখাসহ সমস্ত প্রক্রিয়া আপনাকে দেখায় (আরগ: www)
  • ফিল্টার (গ্রেপ) কেবল জাভা শব্দটি ধারণ করে এমন রেখাগুলি এবং
  • "গ্রেপ জাভা" লাইনটি ফিল্টার করুন :)

(বিটিডব্লিউ, এই উদাহরণটি কার্যকর নয়, তবে মনে রাখা সহজ);)

আপনি উপরেরটি অন্য কমান্ডে পাইপ করতে পারেন, উদাহরণস্বরূপ:

ps axuwww | grep java | grep -v grep | sed '.....'  | while read something
do
    something_another $something
done

ইত্যাদি ...


3

যখন আমি জানতে চাই যে কোনও নির্দিষ্ট জাভা ক্লাস কার্যকর হচ্ছে কিনা, আমি নিম্নলিখিত কমান্ড লাইনটি ব্যবহার করি:

ps ww -f -C java | grep "fully.qualified.name.of.class"

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


এটিই আমি সন্ধান করছিলাম - $ topকেবল "জাভা" কমান্ড হিসাবে দেয় যা সিপিইউ হগিং করছে কোন প্রক্রিয়াটি সনাক্ত করার চেষ্টা করার সময় সমস্ত সহায়ক নয় helpful $ ps ww -fC javaধাঁধা অনুপস্থিত টুকরা সরবরাহ করে।
ডেভিড ক্লার্ক

2

আমি যখন রেডহাট লিনাক্সে ওপেনজেডকে -১.৮ ব্যবহার করে চেষ্টা করেছি তখন জেএসপিএস এবং জেএমসিডি আমাকে কোনও ফলাফল দেখায় নি। এমনকি যদি এটি কেবলমাত্র বর্তমান ব্যবহারকারীর অধীনে প্রক্রিয়াগুলি দেখায় যা আমার ক্ষেত্রে কাজ করে না। পিএস | গ্রেপ ব্যবহার করে আমি যা করেছিলাম তা শেষ হয়েছে তবে কিছু জাভা অ্যাপ্লিকেশনগুলির জন্য শ্রেণীর পথটি দীর্ঘ দীর্ঘ হতে পারে যা ফলাফলকে অবৈধ করে তোলে তাই আমি এটিকে সরাতে সেড ব্যবহার করেছি sed এটি কিছুটা রুক্ষ এখনও তবে পিআইডি, ব্যবহারকারী, জাভা-শ্রেণি / জার, আরগস বাদে সবকিছু মুছে দেয়।

ps -o pid,user,cmd -C java | sed -e 's/\([0-9]\+ *[^ ]*\) *[^ ]* *\([^$]*\)/\1 \2/' -e 's/-c[^ ]* [^ ]* \|-[^ ]* //g'

ফলাফলগুলি দেখতে এমন কিছু দেখাচ্ছে:

  PID USER     CMD
11251 userb org.apache.zookeeper.server.quorum.QuorumPeerMain ../config/zookeeper.properties
19574 userb com.intellij.idea.Main
28807 root org.apache.nifi.bootstrap.RunNiFi run
28829 root org.apache.nifi.NiFi

সমস্ত প্রক্রিয়া তালিকাবদ্ধ করার জন্য উইন্ডোতে একটি বিকল্প হ'ল:

WMIC path win32_process where "Caption='java.exe'" get ProcessId,Commandline

তবে এটিকে আরও সুস্পষ্ট করার জন্য কিছু বিশ্লেষণের দরকার পড়ে।


1

এটি করার অনেকগুলি উপায় রয়েছে। java.lang.ProcessBuilderপ্রক্রিয়া আইডি (পিআইডি) পেতে এর মতো কিছু সহ আপনি "pgrep" ব্যবহার করতে পারেন pgrep -fl java | awk {'print $1'}। অথবা, আপনি যদি লিনাক্সের অধীনে চলতে থাকেন তবে আপনি /procডিরেক্টরিটি জিজ্ঞাসা করতে পারেন ।

আমি জানি, এটি ভয়ঙ্কর বলে মনে হচ্ছে, এবং বহনযোগ্য নয় এবং এমনকি খারাপভাবে প্রয়োগ করা হয়েছে, আমি সম্মত। তবে জাভা আসলে কোনও ভিএম-তে চলেছে, এমন কোনও অযৌক্তিক কারণে যে জেডিকে কাজ করার পরে ১৫ বছরের বেশি পরে আমি সত্যিই বুঝতে পারি না, কেন জেভিএম জায়গার বাইরে জিনিসগুলি দেখা সম্ভব নয়, এটি আপনার সাথে সত্যিই হাস্যকর ulous চিন্তা করুন. এমনকি আপনি forkএবং joinশিশু প্রক্রিয়াগুলি সমস্ত কিছু করতে পারেন (সেগুলি মাল্টিটাস্কিংয়ের এক ভয়ঙ্কর উপায় ছিল যখন বিশ্ব থ্রেড বা পাইথ্রেড সম্পর্কে জানে না , জাভা কী! জাভা দিয়ে কী চলছে !? :)!

এটি আমার জানা একটি বিশাল আলোচনা দেবে, তবে যাইহোক, আমি খুব ভাল একটি এপিআই তৈরি করেছি যা আমি ইতিমধ্যে আমার প্রকল্পগুলিতে ব্যবহার করেছি এবং এটি যথেষ্ট স্থিতিশীল ( এটি ওএসএস যাতে আপনার সত্যিকারের এপিআইয়ের উপর নির্ভর করার আগে ব্যবহার করা প্রতিটি সংস্করণ পরীক্ষা করার দরকার আছে ): https : //github.com/jezhumble/javasysmon

জাভাডোক: http://jezhumble.github.io/javasysmon/ , ক্লাসের জন্য অনুসন্ধান করুন com.jezhumble.javasysmon.OsProcess, তিনি কৌশলটি করবেন। আশা করি এটি সাহায্য করেছে, শুভকামনা।


1
 ps -eaf | grep [j]ava

এটি আরও ভাল কারণ এটি কেবল আপনাকে সক্রিয় প্রক্রিয়াগুলি প্রদর্শন করবে যাতে এই কমান্ডটি অন্তর্ভুক্ত নয় যা জাভা স্ট্রিংটিও []কৌতুক করে


এটি PS -Ef হওয়া উচিত
গ্রেপ

@ ভোভারখান বন্ধু আপনি এবং আমার পরামর্শ উভয়ই চালানোর চেষ্টা করুন এবং দেখুন কী পার্থক্য রয়েছে, তারা উভয়েই কাজ করবে
ইলিয়া গাজমান

উভয়েই একই ফলাফল দেয় [জে] আভা বিভ্রান্তিকর
ভাকুর খান


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