Souvent, quand on utilise la ligne de commande sous linux, et que nous bidouillons pas mal, il est intéressant de pouvoir facilement, et rapidement identifier les processus qui tournent et de pouvoir les arrêter tout aussi rapidement.
Néanmoins, plutôt que d’utiliser les habituels commandes top afin d’afficher les processus linux, ou les commandes tels que ps -aux | grep « nom du process » (afin de faire une recherche sur la liste des processus), j’utilise pour ma part, et depuis quelques années maintenant, un outil vraiment génial : HTOP
Htop en quelques mots
Htop est une version « amélioré » de top, dans le sens où celui-ci permet de naviguer de façon horizontale et vertical dans la liste des processus, par exemple pour voir le reste des processus non affiché dans votre fenêtre (si celle-ci est trop petite).
Il est aussi possible, grâce à une barre de commande, de pouvoir utiliser un certain nombre d’action, comme par exemple des recherches de processus, ou des arrêts (kill) de processus.
Installation de Htop
Afin d’installer Htop, rien de plus simple, il suffit d’ouvrir sa console est de taper la ligne suivante :
sudo apt-get install htop
Problème lors de l’installation de Htop
Il peut arriver que vous n’arriviez pas forcement à installer htop directement avec un simple apt-get install. Cela m’est déjà arrivé sur Raspbian. Pour régler le problème, il faut modifier son fichier sources.list (/etc/apt/sources.list) et dans mon cas ajouter contrib non-free à la fin.
sudo vim /etc/apt/sources.list
deb http://archive.raspbian.org/raspbian wheezy main contrib non-free deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free
L’interface
L’interface de htop se compose en 3 parties. Pour mieux les voir je les ai entourées et numérotées.
La première partie monitor, entre autres, le cpu utilisé, la mémoire, mais aussi le temps depuis lequel votre machine est allumé ou le nombre de tâches ouvertes.
La deuxième partie, la plus grande, liste les processus ouverts. Dans cette partie, nous pouvons trouver une multitude d’informations, tels que le numéro de processus, le nom de l’utilisateur qui a lancé les processus, le pourcentage de cpu ou de mémoire utilisé, et encore bien d’autres informations.
La troisième partie est très importante. Il s’agit du menu. Grâce à celui-ci vous pouvez interagir avec les processus ou avec l’interface de la manière que vous souhaitez en appuyant simplement sur les touches F1 à F10.
Je vais maintenant vous faire une rapide description des menus.
Le menu F1 : Help
Comme dans tous les logiciels, la touche F1 du menu permet simplement d’avoir de l’aide sur son utilisation ou ces codes couleurs. Cette aide est très précieuse si vous souhaitez tirer toutes la puissance du logiciel.
Le menu F2 : Setup
Le menu setup permet de configurer votre logiciel htop de la manière que vous le désirez. Vous pouvez changer les couleurs, ajouter des champs et bien d’autres choses. Les modifications sont prises en compte et enregistré. Si vous quittez htop, puis que vous le relancer plus tard, les modifications seront toujours présentes. Faite donc attention à ce que vous faites.
Le menu F3 : Search
Le menu search est surement l’un de ceux que j’utilise le plus. Celui-ci permet simplement d’effectuer une recherche par nom. Vous pouvez alors très facilement trouver le processus désiré. Celui-ci, s’il existe sera alors souligné. S’il y à plusieurs processus, c’est le premier trouvé qui sera souligné.
Le menu F4 : Filter
Filtrer est un menu tout aussi utile que search. Tout comme celui-ci, il va vous permettre de trouver les processus recherchés, mais contrairement à search, il ne va pas simplement souligner le processus, il va n’afficher que celui recherché. C’est un outil très puissant si par exemple on doit surveiller le lancement en temps réel de certains processus et que l’on ne veut pas être dérangé par l’affichage des autres processus.
Le menu F5 : Tree ou sorted
Ce menu permet simplement d’afficher les processus de façon alignées ou de manière trier en arbre. En trie par arbre, il est tout de suite plus simple de voir les processus fils.
Le menu F6 : Sort By ou collapse/expand
Ce menu change en fonction de la manière dont vous affichez vos processus (avec le menu F5).
Si vous affichez les processus de façon Sorted, le menu qui s’affiche est Sort By. Celui-ci permet d’afficher le menu par utilisation du cpu, ou par exemple par PID.
Si vous affichez les processus de façon Tree, le menu qui s’affiche est Collapse ou expand. Ceux-ci permettent de plier et de déplier les processus fils d’un processus afin de les afficher ou non. S’ils sont pliés, un petit + apparaît à côté du processus.
Le menu F7 et F8 : Nice – Et Nice +
Ces deux menus permettent de diminuer ou d’augmenter la priorité du processus par rapport aux autres. Attention ceci ne peut être effectuer que par le root. Une fois la valeur de priorité changé, elle apparaîtra en rouge avec un signe moins si celle-ci a été diminuée.
Le menu F9 : Kill
Ce menu est aussi un de ceux que j’utilise le plus lorsque je me sers de htop. Une fois un processus sélectionné (avec par exemple search ou simplement les touches de directions) il est possible de lui envoyer un signal. J’utilise principalement le signal pour terminer le processus (15 SIGTERM) ou pour le tué (9 SIGKILL) dans le cas où celui-ci est vraiment planté.
Le menu F10 :Quit
Enfin le dernier menu est simplement pour vous permettre de quitter l’application.
Il est aussi possible d’appuyer sur la touche « q » lorsque vous êtes sur l’interface principale.
Pour aller plus loin : Processus d’un seul utilisateur
Imaginons maintenant que vous cherchiez uniquement les processus lancés par un certain utilisateur (par exemple www-data dans le cas de apache2 ou nobody dans le cas d’un noip). Et bien il suffit simplement de lancer htop avec l’option -u (pour user) puis le nom de l’utilisateur.
htop -u www-data
Il n’apparaîtra alors que les processus de cet utilisateur.
Merci Christian pour ce tuto.
Je suis un viel ingé info plutôt Windows que Linux, mais bon, je me débrouille aussi de ce côté…
J’avais une question concernant htop. Peut-être pourrez-vous m’aider.
Voilà j’un un linux propriétaire sur mon NAS Synology ; le DSM 7.
Lorsque je lance htop en tant que moi-même au travers d’une session ssh, le rendu est monochrome. Par contre lancé en sudo, le rendu est coloré. Pourant c’est le même environnement (même $PATH, même programme vérifié par which, même config de htop .htopprc recopé de root vers ~ plus chmod…)
Bref je ne comprends pas cette différence d’affichage dans une même session ssh. Auriez-vous une idée ?
Merci
Didier