পিআইডি, পিপিআইডি, পিজিআইডি এবং এসআইডি সম্মিলিতভাবে প্রদর্শন করতে স্যুইচ করে


39

আমি বিভিন্ন ধরণের সুইচ যেমন -এ, অক্স, এফ এবং আরও কিছু সহ পিএস চেষ্টা করেছি তবে আমি সুইচগুলির সঠিক সংমিশ্রণটি খুঁজে পাচ্ছি না যা আমাকে প্রসেস আইডি (পিআইডি), প্যারেন্ট প্রসেস আইডি (পিপিআইডি), প্রক্রিয়া গ্রুপকে বলবে আইডি (পিজিআইডি) এবং একই আউটপুটটিতে একটি প্রক্রিয়ার সেশন আইডি (এসআইডি)


ps -o <field>,<field>,...। ম্যান পৃষ্ঠায় বিশদ রয়েছে।
মাইকেল

@ মাইকেল আমি দেখেছি যে ইতিমধ্যে এটি উবুন্টু 12.04 এ কাজ করে না
জনমারলিনো

1
এটা ঠিক কাজ করা উচিত। আপনি এটি কিভাবে চালাচ্ছেন? (নোট যে -oনিয়ন্ত্রণ আউটপুট ফরম্যাট, কিন্তু আপনি এখনও চাইতে পারেন -A, -e, -p, ইত্যাদি নির্বাচন করতে যা দেখানোর জন্য প্রক্রিয়া করে।)
Mikel

উত্তর:


66

আপনি এখানে যান:

$ ps  xao pid,ppid,pgid,sid | head
  PID  PPID  PGID   SID
    1     0     1     1
    2     0     0     0
    3     2     0     0
    6     2     0     0
    7     2     0     0
   21     2     0     0
   22     2     0     0
   23     2     0     0
   24     2     0     0

আপনি যদি প্রক্রিয়াটির নামটিও দেখতে চান তবে এটি ব্যবহার করুন:

$ ps  xao pid,ppid,pgid,sid,comm | head
  PID  PPID  PGID   SID COMMAND
    1     0     1     1 init
    2     0     0     0 kthreadd
    3     2     0     0 ksoftirqd/0
    6     2     0     0 migration/0
    7     2     0     0 watchdog/0
   21     2     0     0 cpuset
   22     2     0     0 khelper
   23     2     0     0 kdevtmpfs
   24     2     0     0 netns

"কম" এবং "মাথা" কী করে?
জনমার্লিনো

3
@ জনমারলিনো "কম" কমান্ডের নাম মুদ্রণ করেছে এবং headএটি একটি পৃথক কমান্ড, এর সাথে কিছুই করার নেই ps, এটি কেবল প্রথম এন (ডিফল্টরূপে 10) লাইন প্রিন্ট করে, আমি আমার উত্তরের আকার সীমাবদ্ধ করতে এখানে এটি ব্যবহার করেছি। পিএস সম্পর্কে আপনার যা কিছু জানা দরকার সেগুলি ব্যাখ্যা করা আছে man ps
টেরডন

commসম্পূর্ণ কমান্ড মুদ্রণ করে না। উদাহরণস্বরূপ, আপনি যদি চালনা করেন তবে কম python foo.pyকেবল আপনাকে pythonঅংশটি প্রদর্শন করবে , তবে তা নয়python foo.py
32r34wgf3e

1
হ্যাঁ, এজন্যই আমি বলেছিলাম এটি কমান্ডের নাম মুদ্রণ করে । কমান্ড python, foo.pyকমান্ড এর যুক্তি। আপনি cmdযদি যুক্তিগুলিও চান তবে চেষ্টা করুন ।
টেরডন

13

চেষ্টা

ps -efj | less

বিশেষত, আপনি যদি একটি নির্দিষ্ট প্রক্রিয়া নাম বা পিআইডি-র জন্য পিআইডি / পিজিআইডি / পিপিআইডি / এসআইডি খুঁজে পেতে চান তবে চেষ্টা করুন:

ps -efj | grep ProcessName

ps -efj | grep PID

বা আরও ভাল ফর্ম্যাট আউটপুট জন্য, চেষ্টা করুন:

ps -ejf | egrep 'STIME|ProcessName'

ps -ejf | egrep 'STIME|pid'

Examples:

ps -ejf | egrep 'STIME|http'

ps -ejf | egrep 'STIME|1234'

নমুনা:

[ram@thinkred1cartoon ~]$ ps -ejf | egrep 'STIME|http'

UID        PID  PPID  PGID   SID  C STIME TTY          TIME CMD
root      1450     1  1450  1450  0 08:45 ?        00:00:04 /usr/sbin/httpd -DFOREGROUND
ram       3717     1  2589  2589  0 08:47 ?        00:00:00 /usr/libexec/gvfsd-http --spawner :1.3 /org/gtk/gvfs/exec_spaw/1
apache   11518  1450  1450  1450  0 09:40 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11519  1450  1450  1450  0 09:40 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11520  1450  1450  1450  0 09:40 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11521  1450  1450  1450  0 09:40 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11522  1450  1450  1450  0 09:40 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
ধরে নিই 1234 পিআইডি এবং আপনি এর সম্পর্কিত পিপিআইডি, পিজিআইডি, এসআইডি এবং সিএমডি জানতে চান
CentOS / RedHat 6.x & 7.x এ পরীক্ষিত
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.