81 votes

Limite de la sortie de la commande TOP pour un processus spécifique de nom

Si vous appelez la commande top, vous bénéficiez de tous les processus en cours d'exécution. Mais comment puis-je limiter la sortie à un certain nom du processus comme "java"?

J'ai essayé ce haut -l 2 | grep java mais de cette façon, vous obtenez uniquement les instantanés et non pas une liste régulièrement mise à jour. Et haut -l 0 | grep java n'est pas vraiment clair.

132voto

Rick Byers Points 661

Je préfère le suivant de sorte que je peux encore utiliser de manière interactive sans avoir à rechercher les pids à chaque fois que je le lance:

top -p `pgrep process-name | tr "\\n" "," | sed 's/,$//'`

Bien sûr, si le processus de changement que vous aurez à ré-exécuter la commande.

54voto

dogbane Points 85749

Trouver le pid du processus que vous souhaitez surveiller, puis utilisez l' -p option qui vous permet de fournir une liste de pid à l' top commande.

Exemple:

top -p 18884 -p 18892 -p 18919

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND
18884 user  25   0  672M  95M  9476 S     0.0  1.1   0:02   1 java
18892 user  25   0 2280M 123M 12252 S     0.0  1.5   0:05   1 java
18919 user  22   0 1492M 198M 28708 S     0.0  2.4   0:07   1 java

(Je crois que vous pouvez aussi passer dans une liste séparée par des virgules.)

32voto

Faisal Feroz Points 4926

que diriez - top -b | grep java

29voto

l0b0 Points 10719

L'expansion sur @dogbane de réponse, vous pouvez obtenir toutes les PIDs pour un nom de processus avec pgrep d'effectuer les opérations suivantes:

top -p "`pgrep -d ',' java`"

6voto

tszming Points 1644

L'utilisation de la montre de commande

watch -d 'top -n1 | grep mysql'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X