[logoP5] [logoCDC]





Des questions, des incertitudes. Voici des éléments de réponse pour :


6.Gestion de processus

Article écrit par : Laurent Moineau

6. Gestion de processus

***************************************



6. Gestion de processus

6.1. Visualisation

    • a) La commande ps

Ex : ps

Visualise les processus associés à un terminal en fournissant le PID (Process Identity) et le nom du processus.

ps aux

Visualise tous les processus présents sur la machine en fournissant le PID, le nom du processus, le nom du propriétaire, le temps d’exécution, l’état du processus ...

    • b) La commande top

Visualise de manière dynamique les processus présents sur la machine ainsi que le taux de charge du processeur et le taux d’occupation de la mémoire.

  • 6.2. Signaux

Il est possible d’envoyer des signaux à un processus afin d’en modifier l’exécution.

    • a) Les principaux signaux

-  HUP signal 1

Le signal Hang Up peut être interprété par certains processus comme un signal de fin d’exécution ou comme un signal indiquant que le processus doit relire son fichier de configuration.

-  TERM signal 15

Le signal Terminate indique à un processus qu’il doit s’arrêter.

-  KILL signal 9

Le signal Kill indique au système qu’il doit arrêter un processus qui ne répond plus.

    • b) La commande kill

kill -1 234 ou kill -HUP 234

Envoie du signal HUP au processus dont le PID est 234. Hormis l’administrateur, seul le propriétaire d’un processus peut lui envoyer un signal.

  • 6.3. Modes d’exécution

    • a) Exécution séquentielle Caractère ;

cp public/f* perso {{;}} rm -r public

Copie de tous les fichiers du répertoire public commençant par la lettre f dans le répertoire perso puis suppression récursive du répertoire public.

    • b) Exécution conditionnelle Caractères &&

cp public/f* perso {{&&}} rm -r public

Copie de tous les fichiers du répertoire public commençant par la lettre f dans le répertoire perso puis, si la commande précédente n’a pas échouée, suppression récursive du répertoire public.

    • c) Exécution détachée ou en arrière plan Caractère &

L’exécution en avant plan d’un processus à partir de l’interpréteur de commandes met en oeuvre les étapes suivantes :

-  Exécution de la primitive fork qui duplique le processus père (ici le shell)
-  Exécution de la primitive wait qui endort le processus père (état sleep)
-  Exécution de la primitive exec qui exécute le processus fils
-  A la fin de l’exécution du processus fils un signal de réveil est envoyé au processus père.
-  Il en résulte que pendant l’exécution du processus fils le processus père est inactif.
-  L’exécution en arrière plan d’un processus permet d’exécuter indépendamment le processus père et le processus fils.

xclock {{&}}

Exécution de la commande xclock en arrière plan à partir de l’interpréteur de commande. Dans ce cas le processus xclock s’exécute concurremment avec son processus père.

    • d) Les indirections

Un processus est associé à une entrée standard (par défaut le clavier), à une sortie standard et à une sortie des erreurs (par défaut la fenêtre d’exécution).

-  Indirection des entrées <

cat {{<}}f1

Visualise le contenu du fichier f1. cat f1 produit le même résultat.

-  Indirection des sorties >

cat f1 {{>}}f2

Le contenu du fichier f1 est redirigé vers le fichier f2 en écrasant son contenu préalable s’il existait déjà.

-  Indirection des sorties >>

cat f1 {{>>}}f2

Le contenu du fichier f1 est redirigé vers le fichier f2 en l’ajoutant à son contenu préalable s’il existait déjà.

    • e) Tube de communication Caractère |

L’utilisation d’un tube de communication entre deux processus permet de définir l’entrée standard du deuxième processus comme étant la sortie standard du premier processus.

ps aux >f1;grep dupl f1;rm f1

Les informations de l’ensemble des processus présents sur la machine sont redirigées dans un fichier f1, puis on recherche dans le fichier f1 avec la commande grep l’ensemble des lignes qui contiennent la chaîne dupl, enfin on supprime le fichier f1. L’objectif est donc de visualiser l’ensemble des processus qui appartiennent à l’utilisateur dupl.

L’utilisation d’un tube de communication évite l’utilisation du fichier temporaire f1.

ps aux {{|}} grep dupl

Rien ne nous empêche d’enchaîner plusieurs tubes les uns à la suite des autres. Ouvrons un terminal et tapons la « commande » :

$ xclock &

Le processus xclock se lance en détaché.

Tapons maintenant la commande :

ps auxw|grep xclock|grep -v grep|cut -c10-16|xargs kill

L’application xclock est « tuée ». On peut décomposer cette « commande » :

ps auxw : on liste les processus ;

grep xclock : on extrait la ligne qui contient la chaîne de caractères « xclock » ;

grep -v grep : on retire la ligne qui contient la chaîne de caractères « grep » ;

cut -c10-16 : on extrait de la ligne les caractères 10 à 16, ce qui correspond au numéro de processus ;

xargs kill : la commande xargs permet ici de faire passer le résultat de la commande précédente comme argument de la commande kill.

Bien sûr, on aurait pu parvenir au même résultat en tapant simplement :

killall xclock

Mais la commande killall ne fait pas partie des commandes traditionnelles d’Unix...



...Suite du coursPrésentation des principaux logiciels disponibles...




Retour Haut de Page










Cours Linux :

Introduction à GNU Linux

1.Introduction à LINUX
2.Configuration multi-systèmes
3.Environnement graphique GNOME
4.Gestion de fichiers
5.Le gestionnaire de fichiers nautilus
6.Gestion de processus
7.Les applications réseaux
8.Le shell

Services réseau

1. Le démarrage des services réseau sous Gnu/Linux
2. Le service dhcp
3. DNS
4. Le service httpd et apache
5. Samba
6. Le service de messagerie
7. Les services cryptés



Autres Rubriques :

.Accueil
.Le Centre de Calcul
.Réseau de l’UFR
.Linux
.Windows

Liens dans l’UFR :

.Licence Professionnelle
.UFR de Mathématique et Informatique
.Connexions (SSH) et Messageries (IMP ou TWIG) sécurisées

Liens Internet :

.Linux France
.Da Linux French Page
.Léa-Linux(pour débutants)
.Distribution RedHat
.Distribution Mandrake














Site réalisé par Thierry LECHIEN avec SPIP logiciel libre sous licence GNU/GPL. Hébergement à Paris5