Vous pouvez installer la pstreecommande à l'aide de Homebrew (mon favori personnel), de MacPorts ou de Fink . Vous obtiendrez une vue en ligne de commande et une arborescence des processus sur votre Mac.
Avec Homebrew installé, lancez simplement:
brew install pstree
puis utilisez-le comme en pstreeligne de commande.
#!/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 kidsPrintLineage($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} = (); <- this line is not needed and can cause incorrect output
push(@{ $p{$ppid}{kids}}, $pid);# Add our pid to parent's kid}PrintLineage(($ARGV[0])? $ARGV[0]:1,"");# recurse to print lineage starting with specified PID or PID 1.
J'ai trouvé cette réponse utile dans une situation où je ne pouvais pas encore installer Brew (problèmes de débogage de Packer + vmware).
Amos Shapira
1
C’est une excellente réponse et un excellent point de départ également, mais il serait plus utile s’il existe un moyen de tronquer les lignes, car elles prennent très, très longtemps sous OSX et s’enroulent dans la fenêtre du terminal. Des idées à ce sujet?
Rolf
3
@Rolf treeps | cut -c 1-$COLUMNScoupera les longues lignes à la largeur de votre fenêtre de terminal actuelle. (ou un simple nombre comme 100au lieu de la $COLUMNSvariable)
DouglasDD
Comme dans la situation d’Amos Shapira, ce que j’ai cherché c’est cela brewmême: il faut beaucoup de temps pour mettre à jour et ne rien me dire dans le terminal où il tourne; alors, pour moi, cette réponse est un joyau!
landru27
9
J'ai adapté le script Perl de Greg Ercolano au script Python.
Une autre option est htop, qui a une option pour afficher sous forme d'arborescence. Vous pouvez appuyer de manière F5interactive ou utiliser htop -tlors du lancement. À installer:brew install htop
Collez-le dans votre terminal pour installer Homebrew qui vous permettra d’installer pstree.
Puis installez pstree en utilisant cette commande
brew install pstree
Maintenant, vous pouvez utiliser la pstreecommande dans votre terminal
Si la commande d'installation échoue, c'est-à-dire qu'un code X seul ne suffit pas pour la version de votre système d'exploitation, installez Command Line Developer Tools en exécutant cette commande avant d'installer pstree.
J'ai supposé qu'il pourrait y avoir des changements dans la version actuelle de MacOS ou Xcode, par exemple, je devais installer Command Line Developer Tools avant d'installer pstree.
Ethan Stykes
Pas de changement, vous avez toujours eu besoin des outils de ligne de commande Xcode, comme indiqué dans toutes les instructions d'installation pour les 3 gestionnaires de paquets
user151019,
Oh !, espérons que ma réponse soit utile à quelqu'un en quelque sorte.
treeps | cut -c 1-$COLUMNS
coupera les longues lignes à la largeur de votre fenêtre de terminal actuelle. (ou un simple nombre comme100
au lieu de la$COLUMNS
variable)brew
même: il faut beaucoup de temps pour mettre à jour et ne rien me dire dans le terminal où il tourne; alors, pour moi, cette réponse est un joyau!J'ai adapté le script Perl de Greg Ercolano au script Python.
Exemple de sortie:
la source
Une autre option est
htop
, qui a une option pour afficher sous forme d'arborescence. Vous pouvez appuyer de manièreF5
interactive ou utiliserhtop -t
lors du lancement. À installer:brew install htop
Source: ServerFault
la source
Collez-le dans votre terminal pour installer Homebrew qui vous permettra d’installer pstree.
Puis installez pstree en utilisant cette commande
Maintenant, vous pouvez utiliser la
pstree
commande dans votre terminalSi la commande d'installation échoue, c'est-à-dire qu'un code X seul ne suffit pas pour la version de votre système d'exploitation, installez Command Line Developer Tools en exécutant cette commande avant d'installer pstree.
la source