Commandes relatives aux processus

Un processus est un programme ayant son propre espace d'adressage. Des commandes simple ont un seul processus, alors qu'une chaine de commandes connectée par des pipes a de multiples processus associés.

kill

La commande kill permet d'envoyer des signaux au processus en exécution ( que en arrière-plan). L'action par défaut de la commande consiste à terminer le processus en lui envoyant un signal.

Exemple:
Pour mettre fin à un processus qui boucle en arrière-plan (le numéro processus étant 1308).
kill 1308

Si cette commande n'ai pas efficace, passer à la version plus énergique
kill -kill 1323  (identique à kill -9 1308)

Pour détruire tout les processus dont vous êtes propriétaire
kill 0

nice

La commande nice vous permet de modifier la priorité d'un ou plusieurs processus. Un nombre négative signifie une priorité supérieure à un nombre positif. La valeur ce situe généralement entre -20 et +20.
Exemple:
La commande suivante réalise un find en arrière-plan pour trouver tout les programmes source C
nice find . -name *.c -print &

cela donnes au processus priorité par défaut de 10.

nice 16 find . -name *.c -print &
cela donne une priorité encore plus bas (16)

W

Executer commande w
CommandeW

Cette commande nous donne un condensé d'informations très utiles:

- L'heure aussi accessible via date
- L'uptime aussi accessible via uptime (C'est la durée de fonctionnement de l'ordinateur.
- load average: 0,01, 0,2, 0,00
La charge est un indice de l'activité de l'ordinateur. Il y a trois valeurs :
1. la première correspond à la charge moyenne depuis 1 minute (0,01) 
2. la seconde à la charge moyenne depuis 5 minutes (0,02) 
3. la dernière à la charge moyenne depuis 15 minutes (0,00).

La doc nous dit qu'il s'agit du nombre moyen de processus (programmes) en train de tourner et qui réclament l'utilisation du processeur. Cela veut dire que, depuis une minute, il y a en moyenne 0,1 processus qui réclament le processeur. Votre processeur est donc actif 10 % du temps. 
Mais ce nombre dépend du nombre de processeurs de votre ordinateur.
Un ordinateur 
dual core ne sera complètement chargé que lorsque la valeur aura atteint 2.
Pour un 
quad core (4 coeurs de processeur), la valeur maximale avant surcharge sera de 4. 
Lorsqu'il dépasse 1 (si vous avez un processeur), 2 ou 4, alors votre ordinateur est surchargé!
Quand la charge est très élevée pendant une longue période, c'est qu'il y a clairement un problème. Il y a trop de programmes qui réclament le processeur et quelque chose ne va pas dans l'ordinateur. Celui-ci aura du mal à répondre en cas de forte charge.

Notez que vous pouvez obtenir un graphique de l'évolution de la charge en console via la commande tload. Le graphe évolue au fur et à mesure du temps, il faut patienter un petit peu avant d'avoir quelque chose.

- La liste des connectés aussi accessible via who
Il n'est pas nécessaire de décrire chacune des colonnes:
LOGIN@ : l'heure à laquelle cet utilisateur s'est connecté ;
IDLE : depuis combien de temps cet utilisateur est inactif (depuis combien de temps il n'a pas lancé de commande) ;
WHAT : la commande qu'il est en train d'exécuter en ce moment. En général, si vous voyez bash, cela signifie que l'invite de commandes est ouverte et qu'aucune commande particulière n'est exécutée.

ps et top

Un processus est un programme qui tourne en mémoire. La plupart des programmes ne font tourner qu'un processus en mémoire (une seule version d'eux-mêmes). C'est le cas d'OpenOffice par exemple. D'autres lancent des copies d'eux-mêmes, c'est le cas du navigateur Google Chrome qui crée autant de processus en mémoire que d'onglets ouverts. 
Sur un serveur web, on utilise en général le logiciel Apache qui délivre les pages web aux internautes. Ce logiciel crée beaucoup de processus pour séparer ses activités. Il en va de même pour les systèmes de gestion de bases de données, comme MySQL et PostgreSQL.
Il ne faut pas s'inquiéter si un programme génère beaucoup de processus, cela n'est pas anormal.  La commande ps permet de trouver les processus en cours d'exécution.