Ist es unbedingt erforderlich, dass Sie eine Befehlszeilenversion davon verwenden? Wenn Sie nur den Baum sehen möchten, warum nicht "Aktivitätsmonitor" verwenden und "Alle Prozesse, hierarchisch" auswählen?
AlanGBaker
Antworten:
9
pstree ist in der Regel Teil der Standardinstallation oder kann problemlos auf BSD-Systemen installiert werden. Das ist was ich benutze. Beispielsweise können Sie es über Macports auf einem Mac installieren .
Verwenden Sie zum Installieren in OSX mit Homebrew brew install htop.
jsears
2
Bisher glaube ich nicht, dass OSX einen eingebauten hat, der dies bewirkt.
Aber hier ist eine Antwort, die ich auch auf stackexchange gepostet habe. Ein kleines Perl-Skript, das die Prozesshierarchie bestimmt und sie unter Verwendung der Ausgabe von OSXs integriertem ps (1) in eingerückter Form ausgibt.
Getestet unter OSX 10.6 und 10.9 und sollte auch unter Linux funktionieren (Sci Linux 6).
#!/usr/bin/perl
# treeps -- show ps(1) as process hierarchy -- v1.0 [email protected] 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
Wie heißt das Paket? MacPorts ist das, wonach ich suche, aber es wäre hilfreich, wenn andere alle drei kennen.
Jim Stewart
2
-1 - scheint etwas falsch. Wenn dies zutrifft, unterstützen Sie Ihre Antwort mit weiteren Informationen zur Installation mit diesen Paketsystemen, anstatt nur die Paketverwaltungssysteme (insbesondere MacPorts) zu
Antworten:
pstree ist in der Regel Teil der Standardinstallation oder kann problemlos auf BSD-Systemen installiert werden. Das ist was ich benutze. Beispielsweise können Sie es über Macports auf einem Mac installieren .
quelle
ps
diese Fähigkeit nicht vorhanden ist, aber ich werde mich damit zurechtfindenpstree
. Danke, dass du es erwähnt hast!brew install pstree
mit HombrewHTOP ist auch ein wirklich guter Prozess-Viewer, und es hat "Baum" -Ansicht als eine der Hauptoptionen in der unteren Statusleiste (F5).
quelle
brew install htop
.Bisher glaube ich nicht, dass OSX einen eingebauten hat, der dies bewirkt.
Aber hier ist eine Antwort, die ich auch auf stackexchange gepostet habe. Ein kleines Perl-Skript, das die Prozesshierarchie bestimmt und sie unter Verwendung der Ausgabe von OSXs integriertem ps (1) in eingerückter Form ausgibt.
Getestet unter OSX 10.6 und 10.9 und sollte auch unter Linux funktionieren (Sci Linux 6).
quelle
Dies funktioniert nicht unter OSX, aber für FreeBSD ist es der Befehl ps (1) mit der Option -d. Sieht aus wie das:
quelle
Wenn Sie GNU ps wirklich lieben, können Sie es über eines der drei großen Paketsysteme auf OSX installieren:
pkgsrc (NetBSD) - mein Favorit, da es unter den beliebtesten Unixen funktioniert
MacPorts (OSX)
Fink (Debian, teilt aber nicht das Paketset und natürlich nicht die Builds)
quelle