ps

Auteur: Ikipou

La commande ps permet de lister les processus. Le nom de la commande est l'acronyme de "process status" signifiant "état des processus".

Utilisation

La commande ps possède de nombreuses options et n'est pratiquement jamais utilisé sans aucune options. Finalement seule 3 options sont utilisés régulièrement: "a", "x" et "f". Avant de voir l'utilisation de la commande, voyons brièvement ces trois options:

a
Affiche aussi les processus des autres utilisateurs
x
Affiche les processus qui ne sont pas lié à un terminal
f
Affiche les processus en hiérarchie parent-enfant

Ces options peuvent être utilisé avec ou sans tiret.

Lorsque la commande est utilisé sans aucune option, elle affiche tout les processus de l'utilisateur courant à condition qu'ils soient lié à un terminal. Voici un exemple:

$ ps
  PID TTY          TIME CMD
31919 pts/0    00:00:00 bash
12365 pts/0    00:00:00 ps

La première colonne donne le numéro unique de chaque processus (le PID). La seconde colonne donne le terminal sur lequel la commande est attaché. La troisième commande donne le temps total durant lequel le processu à utilisé le processeur. Finalement, la dernière colonne donne le nom de la commande.

Afficher tout les processus

Souvent les informations fournie par la commande sans option ne sont pas suffisante car on cherche aussi à voir les processus des démons, on utilise donc l'option "x" pour les afficher. Une autre option pratique est "a" qui permet d'afficher les processus des autres utilisateurs.

L'option "ax" est donc souvent utilisé en pratique. Voici par exemple le résultat de la commande sur le serveur qui héberge la base de donnée de ce site:

$ ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:26 init [2] 
17347 ?        S      0:56 /usr/lib/postgresql/8.1/bin/postmaster
17349 ?        S      0:00 postgres: writer process
17350 ?        S      0:26 postgres: stats buffer process
17351 ?        S      0:20 postgres: stats collector process
20683 pts/0    R+     0:00 login
20684 pts/2    Ss     0:00 /bin/bash -login
20689 pts/2    R+     0:00 ps ax
...

Afficher la hiérarchie

Les processus connaissent le numéro du processus qui les a créé et forment ainsi une hiérarchie de processus parent-enfant. L'option "h" permet d'afficher cette hiérachie. Avec cette option, les enfants d'un processus sont décalé vers la droite dans l'affichage.

Voici le même exemple que le précédent en ajoutant l'option "h":

$ ps afx
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:26 init [2]
20683 pts/0    R+     0:00 login
20684 pts/2    Ss     0:00  \_ /bin/bash -login
21286 pts/2    R+     0:00      \_ ps afx
17347 ?        S      0:56 /usr/lib/postgresql/8.1/bin/postmaster
17349 ?        S      0:00  \_ postgres: writer process
17350 ?        S      0:26  \_ postgres: stats buffer process
17351 ?        S      0:20      \_ postgres: stats collector process

Page de manuel

La page de manuel décrit la commande et ses options. La commande ps utilisé sur Linux vient du projet GNU et est beaucoup plus riche que la commande équivalente qu'on retrouve sur de nombreux Unix commerciaux. Les options GNU sont décrite dans la page de manuel mais les différences avec d'autres version de ps ne sont pas explicité.

Les cellules (Niveau 1)

Nous qualifions les cellules comme étant des personnes, hommes, femmes ou enfants,
qui souhaitent faire partie de notre société. Les cellules sont des gens tout à fait
ordinaires, qui acceptent de recevoir des appels téléphoniques ou emails de notre part,
afin d'accomplir une certaine mission de manière bénévole. Par exemple, vous habitez
au canada, nous y avons un commerce en informatique et devons livrer un logiciel à
une boulangerie. Ces deux commerces, boulangerie et magasin en informatique se
trouvent près de chez vous. Si vous êtes enregistré en tant que cellule, nous vous
appelons et vous demandons de bien vouloir vous occuper de la transaction. Votre
mission serait alors d'aller chercher le logiciel et de le livrer à la boulangerie. Seul les
cellules peuvent devenir salariées à temps partiel ou à temps plein. C'est une façon
pour nous de faire connaissance avec la personne, de connaître ses motivations,
son caractère et bien plus encore. Nous pourrions aussi demander à ces cellules de
traduire quelques un de nos textes, de les corriger ( en faible quantité ), de gérer
la présentation et le maintien en ordre de l'un ou l'autre de nos sites Internet etc..
Voici les conditions à remplir pour devenir une de nos cellules :
- Vouloir faire partie de notre société, que se soit en tant que cellule ou salarié.
- Avoir un peu de temps libre afin de pouvoir accomplir les missions demandées.
- Etre motivé.
Lors des recrutements, nous verrons quels sont toutes les personnes qui ont
le statut de cellule, avec un tri par nombre de missions effectuées ainsi qu'un
nombre de refus. De par ce fait, lorsque nous aurons besoin d'un nouvel employé,
nous regarderons quelle cellule a accepté le plus de missions et celles qui en ont
déjà refusées. Ceux qui refusent une mission ont évidemment beaucoup moins de
chance de faire partie de notre société et ceux qui ne sont pas cellule ne peuvent
être employés. La cellule est le premier stade obligatoire.
-- Jayce - Chasseur de têtes --