Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:systeme:processus [03/05/2013 13:40] smolski [Sources] |
doc:systeme:processus [26/08/2015 18:57] (Version actuelle) milou [Intéragir avec les processus] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== GNU/Linux - Processus ====== | ====== GNU/Linux - Processus ====== | ||
- | |||
- | (Rédigé par **smolski** le : 03-05-2013 06:41:18 19 20 21 ...) Le retour sur le forum est ici : [[http://debian-facile.org/viewtopic.php?id=6787 | Lien vers le forum concernant ce tuto]] | ||
- | N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs ! | ||
* Objet : Les processus sous GNU/Linux | * Objet : Les processus sous GNU/Linux | ||
- | * Niveau requis : DÉBUTANT | + | * Niveau requis :{{tag>débutant avisé}} |
* Commentaires : // Initiation à la gestion des processus. // | * Commentaires : // Initiation à la gestion des processus. // | ||
- | * Débutant, à savoir : [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | + | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) |
+ | * Suivi : {{tag>à-tester}} | ||
+ | * Création par [[user>smolski]] le 03/05/2013 | ||
+ | * Testé par .... le .... | ||
+ | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=6787 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
+ | |||
+ | |||
+ | |||
===== Généralités ===== | ===== Généralités ===== | ||
Ligne 33: | Ligne 38: | ||
**init** lance aussi un programme permettant à un utilisateur (//ou plusieurs//) de se connecter au système. \\ | **init** lance aussi un programme permettant à un utilisateur (//ou plusieurs//) de se connecter au système. \\ | ||
- | Ce pourra être une fenêtre en //mode graphique// ou une invite en //mode texte//(([[manuel:terminal]] ou [[manuel:console]])) qui permettra de saisir le nom d'utilisateur et le mot de passe avant de lancer une interface utilisateur (également graphique ou non). | + | Ce pourra être une fenêtre en //mode graphique// ou une invite en //mode texte//(([[:doc:systeme:terminal]] ou [[:doc:systeme:console]])) qui permettra de saisir le nom d'utilisateur et le mot de passe avant de lancer une interface utilisateur (également graphique ou non). |
===== Etats des processus ===== | ===== Etats des processus ===== | ||
Ligne 52: | Ligne 57: | ||
Le deuxième état est pour un processus qui pourrait tout à fait être en train de s'exécuter, mais il doit attendre que le processus actif laisse sa place.<note tip>En effet, le multitâche n'est en quelque sorte qu'une illusion. Sur une machine possédant un seul processeur, à un instant donné un seul programme peut opérer.</note> | Le deuxième état est pour un processus qui pourrait tout à fait être en train de s'exécuter, mais il doit attendre que le processus actif laisse sa place.<note tip>En effet, le multitâche n'est en quelque sorte qu'une illusion. Sur une machine possédant un seul processeur, à un instant donné un seul programme peut opérer.</note> | ||
- | Ces deux premiers états ne sont généralement pas distingués du point de vue de l'utilisateur pour qui ils correspondent l'un comme l'autre à un programme en cours d'exécution. Cette nuance concerne plus le noyau. | + | Ces deux premiers états ne sont généralement pas distingués par l'utilisateur du point de vue duquel, ils correspondent, l'un comme l'autre, à un programme en cours d'exécution. Cette nuance concerne davantage le noyau. |
==== Endormi ==== | ==== Endormi ==== | ||
Ligne 80: | Ligne 85: | ||
Comme indiqué précédemment, un processus peut être identifié avec son PID. | Comme indiqué précédemment, un processus peut être identifié avec son PID. | ||
- | Pour connaître celui-ci, il existe un outil qui s'appelle [[commande:ps | la commande ps]]. \\ | + | Pour connaître celui-ci, il existe un outil qui s'appelle [[:doc:systeme:ps | la commande ps]]. \\ |
Il affiche la liste des processus en cours d'exécution (pas forcément tous selon les options) avec d'autres informations comme la commande utilisée pour le lancer ou son état. | Il affiche la liste des processus en cours d'exécution (pas forcément tous selon les options) avec d'autres informations comme la commande utilisée pour le lancer ou son état. | ||
Ligne 115: | Ligne 120: | ||
Le programme ps ne permet d'obtenir qu'une vision instantanée des processus courant. \\ | Le programme ps ne permet d'obtenir qu'une vision instantanée des processus courant. \\ | ||
- | Il existe un exécutable qui affiche ceux-ci à intervalles réguliers. Il s'agit de [[commande:top | la commande top]] qui montre par défaut les processus en ordre décroissant d'utilisation du processeur. | + | Il existe un exécutable qui affiche ceux-ci à intervalles réguliers. Il s'agit de [[:doc:systeme:top | la commande top]] qui montre par défaut les processus en ordre décroissant d'utilisation du processeur. |
Il indique aussi //l'utilisation mémoire// ce qui fait de top un outil d'administration utile pour connaître les programmes consommateurs de ressources. | Il indique aussi //l'utilisation mémoire// ce qui fait de top un outil d'administration utile pour connaître les programmes consommateurs de ressources. | ||
Ligne 132: | Ligne 137: | ||
**Principaux signaux** | **Principaux signaux** | ||
^Signal ^Valeur numérique ^Comportement par défaut ^Description ^ | ^Signal ^Valeur numérique ^Comportement par défaut ^Description ^ | ||
- | |SIGINT |2 |Terminer le processus |Il s'agit d'une demande venant du clavier, le plus souvent à l'aide la combinaison de touches Ctrl-C.| | + | |SIGINT |2 |Terminer le processus |Il s'agit d'une demande venant du clavier, le plus souvent à l'aide la combinaison de touches <key>C-c</key>| |
|SIGKILL |9 |Terminer le processus |Ce signal permet d'arrêter tout programme car il ne peut être géré différemment que le comportement par défaut. L'arrêt du programme est brutal.| | |SIGKILL |9 |Terminer le processus |Ce signal permet d'arrêter tout programme car il ne peut être géré différemment que le comportement par défaut. L'arrêt du programme est brutal.| | ||
|SIGUSR1 |10 |Terminer le processus |Ce signal n'a pas de signification particulière. Il peut être utilisé de manière différente par chaque programme.| | |SIGUSR1 |10 |Terminer le processus |Ce signal n'a pas de signification particulière. Il peut être utilisé de manière différente par chaque programme.| | ||
Ligne 144: | Ligne 149: | ||
Ces signaux sont donc envoyés par le sytème à un processus pour le prévenir de certains événements. | Ces signaux sont donc envoyés par le sytème à un processus pour le prévenir de certains événements. | ||
- | Mais un utilisateur peut aussi envoyer des signaux grâce à la commande intégrée à bash, [[commande:kill | la commande kill]]. \\ | + | Mais un utilisateur peut aussi envoyer des signaux grâce à la commande intégrée à bash, [[:doc:systeme:kill | la commande kill]]. \\ |
Elle s'utilise en indiquant le numéro de signal à l'aide de l'option **-s** puis du **PID** du processus. | Elle s'utilise en indiquant le numéro de signal à l'aide de l'option **-s** puis du **PID** du processus. | ||
Ligne 177: | Ligne 182: | ||
ls | less</code> | ls | less</code> | ||
- | [[commande:ls | La commande ls]] permet de lister les fichiers. Mais quand ils sont trop nombreux, la consultation est dificile. \\ | + | [[:doc:systeme:ls | La commande ls]] permet de lister les fichiers. Mais quand ils sont trop nombreux, la consultation est dificile. \\ |
- | [[commande:less | La commande less]] permet alors de //paginer// ce qui lui est passé sur son entrée standard et de naviguer facilement à l'aide des touches fléchées du clavier. | + | [[:doc:editeurs:less | La commande less]] permet alors de //paginer// ce qui lui est passé sur son entrée standard et de naviguer facilement à l'aide des touches fléchées du clavier. |
Il faut bien voir que lorsque ceci aura été tapé, 2 processus seront créés. | Il faut bien voir que lorsque ceci aura été tapé, 2 processus seront créés. | ||
Ligne 214: | Ligne 219: | ||
- Le signe + indique qu'il s'agit du job le plus récemment manipulé (ce qui sera utile pour les commandes qui seront vues ensuite). | - Le signe + indique qu'il s'agit du job le plus récemment manipulé (ce qui sera utile pour les commandes qui seront vues ensuite). | ||
- | Si le programme avait été lancé en oubliant d'ajouter le $ il est tout de même possible de pouvoir continuer d'utiliser le shell. \\ | + | Si le programme avait été lancé en oubliant d'ajouter le **&** il est tout de même possible de pouvoir continuer d'utiliser le shell. \\ |
- | Pour cela, il faut utiliser la combinaison de touches Ctrl-Z (maintenir la touche Ctrl et appuyer sur la lettre Z). On aura alors ceci : | + | Pour cela, il faut utiliser la combinaison de touches <key>C-z</key> On aura alors ceci : |
<code bash> | <code bash> | ||
jobs</code> | jobs</code> | ||
Ligne 254: | Ligne 259: | ||
En tapant seulement **fg** (sans paramètre donc), c'est //Emacs// qui sera mis en avant-plan (//l'option -nw permet de l'utiliser en mode texte directement dans la console//). \\ | En tapant seulement **fg** (sans paramètre donc), c'est //Emacs// qui sera mis en avant-plan (//l'option -nw permet de l'utiliser en mode texte directement dans la console//). \\ | ||
- | Pour rendre le programme de [[commande:su | la commande su]] actif et utilisable, on peut taper indifféremment une des deux commandes suivantes : | + | Pour rendre le programme de [[:doc:systeme:su | la commande su]] actif et utilisable, on peut taper indifféremment une des deux commandes suivantes : |
<code bash> | <code bash> | ||
fg 2</code> | fg 2</code> | ||
Ligne 270: | Ligne 275: | ||
Qui stoppera le job numéro 3. | Qui stoppera le job numéro 3. | ||
- | <note>En fait l'utilisation de Ctrl-Z vue précédemment est équivalente à l'envoi d'un signal SIGSTOP.</note> | + | <note>En fait l'utilisation de <key>C-z</key> vue précédemment est équivalente à l'envoi d'un signal SIGSTOP.</note> |