GNU "ps auxf" कमांड के बराबर OS X / BSD क्या है? [बन्द है]


13

GNU बर्तनों में, ps auxfवन (वृक्ष) के साथ प्रक्रिया सूची देता है। क्या बीएसडी / ओएस एक्स सिस्टम में इस कमांड के लिए एक समान है?



क्या यह सख्त है कि आप इसके कमांड लाइन संस्करण का उपयोग करें? यदि आप केवल पेड़ देखना चाहते हैं, तो "एक्टिविटी मॉनिटर" का उपयोग क्यों न करें और "सभी प्रक्रियाएं, पदानुक्रम" चुनें?
एलनगैकर

जवाबों:


9

pstree आमतौर पर bsd सिस्टम पर डिफॉल्ट इंस्टॉल या आसानी से इंस्टॉल होने योग्य का हिस्सा है। यही मैं उपयोग करता हूं। उदाहरण के लिए, आप इसे मैक पर मैकपोर्ट के माध्यम से इंस्टॉल कर सकते हैं ।


बहुत बुरा है कि psइस क्षमता नहीं है, लेकिन मैं खुद के साथ प्रबंधित करेंगे pstree। इसका उल्लेख करने के लिए धन्यवाद!
vdboor

7
या होमब्रे केbrew install pstree साथ
cwd

@ आपकी टिप्पणी का उत्तर होना चाहिए :)
okutane

6

Htop भी एक बहुत अच्छी प्रक्रिया दर्शक है, और इसमें "ट्री" दृश्य है क्योंकि यह निम्न स्थिति पट्टी (F5) में मुख्य विकल्पों में से एक है।

यहाँ छवि विवरण दर्ज करें


2
होमब्रे के साथ ओएसएक्स में स्थापित करने के लिए, उपयोग करें brew install htop
jsears

3

अब तक मुझे विश्वास नहीं है कि OSX में एक अंतर्निहित है जो यह करता है।

लेकिन यहाँ एक जवाब मैं पर तैनात है stackexchange रूप में अच्छी तरह; एक छोटी सी पर्ल स्क्रिप्ट जो प्रक्रिया पदानुक्रम को निर्धारित करती है और OSX के अंतर्निहित ps (1) के आउटपुट का उपयोग करके इसे एक इंडेंट रूप में प्रिंट करती है।

OSX 10.6 और 10.9 पर परीक्षण किया गया है, और साथ ही लिनक्स पर काम करना चाहिए (विज्ञान लिनक्स 6)।

#!/usr/bin/perl
# treeps -- show ps(1) as process hierarchy -- v1.0 erco@seriss.com 07/08/14
my %p;                    # Global array of pid info
sub PrintLineage($$) {    # Print proc lineage
  my ($pid, $indent) = @_;
  printf("%s |_ %-8d %s\n", $indent, $pid, $p{$pid}{cmd});  # print
  foreach my $kpid (sort {$a<=>$b} @{ $p{$pid}{kids} } ) {  # loop thru kids
    PrintLineage($kpid, "   $indent");                       # Recurse into kids
  }
}
# MAIN
open(FD, "ps axo ppid,pid,command|");
while ( <FD> ) { # Read lines of output
  my ($ppid,$pid,$cmd) = ( $_ =~ m/(\S+)\s+(\S+)\s(.*)/ ); # parse ps(1) lines
  $p{$pid}{cmd} = $cmd;
  $p{$pid}{kids} = ();
  push(@{ $p{$ppid}{kids} }, $pid); # Add our pid to parent's kid
}
PrintLineage(1, "");     # recurse to print lineage starting with pid 1

1

यह OSX पर काम नहीं करता है, लेकिन FreeBSD के लिए -d विकल्प के साथ ps (1) कमांड है। इस तरह दिखता है:

% ps auxwwwd
USER    PID  %CPU %MEM   VSZ   RSS TT  STAT STARTED      TIME COMMAND
root      0   0,0  0,0     0   304  -  DLs  15:23     0:05,12 [kernel]
root     11 400,0  0,0     0    64  -  RL   15:23   712:54,09 - [idle]
root      1   0,0  0,0 10004   140  -  ILs  15:23     0:00,02 - /sbin/init --
root    309   0,0  0,0 11392  1372  -  Is   15:23     0:00,08 |-- dhclient: em0 [priv] (dhclient)
_dhcp   355   0,0  0,0 11556  1444  -  Is   15:23     0:00,06 |-- dhclient: em0 (dhclient)
root    404   0,0  0,0 14236   664  -  Ss   15:23     0:01,57 |-- /sbin/devd
root    546   0,0  0,0 11360  1320  -  Ss   15:23     0:00,63 |-- /usr/sbin/syslogd -s
root    678   0,0  0,0 17908  1252  -  Is   15:24     0:00,00 |-- /usr/sbin/sshd
root    751   0,0  0,0 18312  1312  -  Is   15:25     0:00,04 | `-- sshd: trasz [priv] (sshd)
trasz   753   0,0  0,0 18948  2012  -  S    15:25     0:01,83 |   `-- sshd: trasz@pts/0 (sshd)
trasz   754   0,0  0,0 13948     0  0  IWs  -         0:00,00 |     `-- -zsh (zsh)
trasz   765   0,0  0,0 15164  1456  0  I+   15:25     0:00,01 |       `-- tmux: client (/tmp/tmux-1001/default) (tmux)
root    681   0,0  0,0 15744  1740  -  Ss   15:24     0:00,39 |-- sendmail: accepting connections (sendmail)
smmsp   684   0,0  0,0 15588   804  -  Is   15:24     0:00,01 |-- sendmail: Queue runner@00:30:00 for /var/spool/clientmqueue (sendmail)
root    688   0,0  0,0 11384   640  -  Is   15:24     0:00,10 |-- /usr/sbin/cron -s
root    733   0,0  0,0 12428   484  -  Is   15:24     0:00,04 |-- /usr/sbin/autounmountd
root    738   0,0  0,0 10860  1112  -  Is   15:24     0:00,00 |-- /usr/sbin/automountd
trasz   767   0,0  0,4 30036 17168  -  Ss   15:25     0:01,97 |-- tmux: server (/tmp/tmux-1001/default) (tmux)
trasz   768   0,0  0,1 13888  2592  1  Is+  15:25     0:00,05 | |-- -zsh (zsh)
trasz 11313   0,0  0,1 13952  3984  2  Is+  21:05     0:00,07 | |-- -zsh (zsh)
trasz 11531   0,0  0,1 13952  3980  3  Is+  21:55     0:00,05 | |-- -zsh (zsh)
trasz 37987   0,0  0,1 13920  4260  5  Ss   22:06     0:00,04 | |-- -zsh (zsh)
trasz 37998   0,0  0,1 11796  2512  5  R+   22:07     0:00,00 | | `-- ps auxwwwd
trasz 25549   0,0  0,1 13952  3980  4  Is+  21:57     0:00,08 | `-- -zsh (zsh)
root    743   0,0  0,0 10900  1100 v0  Is+  15:24     0:00,00 |-- /usr/libexec/getty Pc ttyv0
root    744   0,0  0,0 10900  1100 v1  Is+  15:24     0:00,01 |-- /usr/libexec/getty Pc ttyv1
root    745   0,0  0,0 10900  1100 v2  Is+  15:24     0:00,00 |-- /usr/libexec/getty Pc ttyv2
root    746   0,0  0,0 10900  1100 v3  Is+  15:24     0:00,01 |-- /usr/libexec/getty Pc ttyv3
root    747   0,0  0,0 10900  1100 v4  Is+  15:24     0:00,00 |-- /usr/libexec/getty Pc ttyv4
root    748   0,0  0,0 10900  1100 v5  Is+  15:24     0:00,00 |-- /usr/libexec/getty Pc ttyv5
root    749   0,0  0,0 10900  1100 v6  Is+  15:24     0:00,00 |-- /usr/libexec/getty Pc ttyv6
root    750   0,0  0,0 10900  1100 v7  Is+  15:24     0:00,01 `-- /usr/libexec/getty Pc ttyv7
root      2   0,0  0,0     0    16  -  DL   15:23     0:00,00 - [crypto]
root      3   0,0  0,0     0    16  -  DL   15:23     0:00,00 - [crypto returns]
root      4   0,0  0,0     0    32  -  DL   15:23     2:16,26 - [cam]
root      5   0,0  0,0     0    16  -  DL   15:23     0:00,00 - [mpt_recovery0]
root      6   0,0  0,0     0    16  -  DL   15:23     0:00,01 - [soaiod1]
root      7   0,0  0,0     0    16  -  DL   15:23     0:00,01 - [soaiod2]
root      8   0,0  0,0     0    16  -  DL   15:23     0:00,01 - [soaiod3]
root      9   0,0  0,0     0    16  -  DL   15:23     0:00,01 - [soaiod4]
root     10   0,0  0,0     0    16  -  DL   15:23     0:00,00 - [audit]
root     12   0,0  0,0     0   800  -  WL   15:23     2:21,06 - [intr]
root     13   0,0  0,0     0    48  -  DL   15:23     0:00,03 - [geom]
root     14   0,0  0,0     0   240  -  DL   15:23     0:10,36 - [usb]
root     15   0,0  0,0     0    16  -  DL   15:23     0:00,00 - [sctp_iterator]
root     16   0,0  0,0     0    16  -  DL   15:23     0:23,43 - [rand_harvestq]
root     17   0,0  0,0     0    48  -  DL   15:23     0:35,10 - [pagedaemon]
root     18   0,0  0,0     0    16  -  DL   15:23     0:05,36 - [vmdaemon]
root     19   0,0  0,0     0    32  -  DL   15:23     1:10,04 - [bufdaemon]
root     20   0,0  0,0     0    16  -  DL   15:23     0:06,68 - [bufspacedaemon]
root     21   0,0  0,0     0    16  -  DL   15:23     0:35,66 - [syncer]
root     22   0,0  0,0     0    16  -  DL   15:23     0:00,86 - [vnlru]
root     23   0,0  0,0     0    16  -  DL   15:23     0:04,96 - [racctd]

0

यदि आप वास्तव में GNU ps से प्यार करते हैं, तो आप इसे OSX पर एक बड़े 3 पैकेज सिस्टम के माध्यम से स्थापित कर सकते हैं:

pkgsrc (NetBSD) - मेरा पसंदीदा चूंकि यह सबसे लोकप्रिय यूनिक्स पर काम करता है

MacPorts (OSX)

फ़िंक (डेबियन, लेकिन पैकेजसेट को साझा नहीं करता है, और निश्चित रूप से बिल्ड्स को साझा नहीं करता है)


4
पैकेज किसे कहते हैं? MacPorts मैं क्या देख रहा हूँ, लेकिन यह दूसरों के लिए तीनों को जानना उपयोगी होगा।
जिम स्टीवर्ट

2
-1 - कुछ गलत लगता है। यदि यह सही है, तो कृपया पैकेज सिस्टम (esp। MacPorts) का उल्लेख करने के बजाय इन पैकेज सिस्टमों का उपयोग करने के बारे में अधिक जानकारी के साथ अपने उत्तर का समर्थन करें
cwd

0

यहाँ मैं जवाब पर एक लिंक है जो मैंने stackexchange पर पोस्ट किया है: /apple//a/383505/364338

"Ps" के मेरे संस्करण (आवरण) से लिंक करें: https://github.com/jhthorsen/snippets/blob/master/bin/ps

--- अपडेट करें ---

मैंने एक अलग स्क्रिप्ट बनाई, जो आपको (आमतौर पर) उन तर्कों को लेना चाहिए जो आप आमतौर पर OSX पर "ps" को दे सकते हैं:

https://github.com/jhthorsen/snippets/blob/master/bin/ps

उदाहरण आउटपुट:

$ ps Af
   PID TTY      STAT      TIME COMMAND
     1 ??       Ss   198:44.08 /sbin/launchd
   141 ??       Ss     2:40.76   \_ /usr/sbin/syslogd
   142 ??       Ss     6:54.11   \_ /usr/libexec/UserEventAgent (System)
   145 ??       Ss     0:32.48   \_ /System/Library/PrivateFrameworks/Uninstall.framework/Resources/uninstalld
   146 ??       Ss     1:12.84   \_ /usr/libexec/kextd
   147 ??       Ss    18:51.47   \_ /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.f
   148 ??       Ss     0:14.31   \_ /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted
   151 ??       Ss    59:43.39   \_ /usr/sbin/systemstats --daemon
   441 ??       S      0:05.39       \_ /usr/sbin/systemstats --logger-helper /private/var/db/systemstats
...

> ps Af -o ppid,pid,cpu,command
  PPID   PID CPU COMMAND
     0     1   0 /sbin/launchd
     1   141   0   \_ /usr/sbin/syslogd
     1   142   0   \_ /usr/libexec/UserEventAgent (System)
     1   145   0   \_ /System/Library/PrivateFrameworks/Uninstall.framework/Resources/uninstalld
     1   146   0   \_ /usr/libexec/kextd
     1   147   0   \_ /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versi
     1   148   0   \_ /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted
     1   151   0   \_ /usr/sbin/systemstats --daemon
   151   441   0       \_ /usr/sbin/systemstats --logger-helper /private/var/db/systemstats

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक हिस्सों को यहां शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं। - रिव्यू से
bjoster

1
उसके लिए माफ़ करना। #newbieposting
Jan Henning Thorsen
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.