# Gestion des processus

## ps

Cette commande permet de voir quels sont les processus actifs pour un terminal donné.  
Les processus qui sont vus ici sont par exemple le shell actif ou tout programme
en train de s'exécuter.

```bash
ps
```

L'appel de cette commande affiche la liste des processus actifs avec, en particulier, leurs numéros (dits PID).

```txt
   PID TTY      TIME CMD
  8073 pts/29   0:01 ksh
 12395 pts/29   0:25 xemacs
```

## kill

Cette commande permet, en particulier, de détruire un processus qui ne s'est pas
normalement terminé avec l'achèvement d'un traitement et qui continue d'être
visible par un `ps` ou un `top`.  
Pour faire cela, il faut utiliser le paramètre `-9` de la commande suivi du
numéro PID du processus à arrêter.

```bash
kill -9 10256
```

## nice

Cette commande permet d'altérer délibérément la priorité d'une commande pour ne
pas gêner l'exécution de tâches plus prioritaires.  
Par exemple :

```bash
nice top
```

## top

Cette commande affiche les processus les plus actifs (top CPU), avec
réactualisation fréquente des informations (par défaut, toutes les 3 secondes).

```bash
top
```

Sont ainsi obtenus les noms des commandes et leur PID respectifs ainsi, entre
autres, que le nom du propriétaire de chacun de ces processus, leur priorité ou
leur charge CPU.  
L'état affiché concerne l'ensemble des utilisateurs unix de la machine.

Il y a une ligne de saisie de commandes juste au-dessus de la liste des 15 processus, à la position du curseur. Plusieurs commandes peuvent être utilisées ici, dont par exemple :

- `h` : affiche l'aide sur les commandes de top
- `k` : avec l'option -9 termine un processus selon son PID (voir kill plus haut)
- `r` : renice un processus, c'est-à-dire permet d'altérer volontairement la
      priorité d'un processus (celle-ci est un chiffre, par exemple 10) :
      `renice [priorité] [PID]`
- `u` : affiche les processus d'un utilisateur donné
- `q` : quitte top
