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 Prochaine révision Les deux révisions suivantes | ||
doc:programmation:shells:bash-les-differents-caracteres-speciaux [08/07/2014 15:13] Hypathie [Shell BASH] |
doc:programmation:shells:bash-les-differents-caracteres-speciaux [08/07/2014 15:28] Hypathie [Quotes, apostrophe, guillemets et apostrophe inversée] |
||
---|---|---|---|
Ligne 180: | Ligne 180: | ||
==== Notion de processus ==== | ==== Notion de processus ==== | ||
- | ===Généralité=== | + | ===Tout est là === |
- | De façon générale, la notion de processus recouvre tout le fonctionnement de\\ | + | |
- | notre système GNU/linux et revoie à l'utilisation du processeur de notre machine.\\ | + | |
- | L'étude des processus mériterait à elle seule un livre entier, et dépasse largement celle du shell.\\ Voyons simplement dans les grandes lignes ce qu'est un processus, comment repérer un processus, et le tuer.\\ | + | |
- | + | ||
- | >Pour simplifier, on peut dire qu'un processus est un programme en cours d’exécution. | + | |
- | >Quand on lance une commande cela fait appel à un exécutable (un binaire ou un script), qui est dans la mémoire morte (dans le disque dur). | + | |
- | >Mais lorsqu'un processus se lance, les instructions du programme passe en mémoire vive pour que le programme soit exécuté par le processeur. | + | |
- | + | ||
- | >De plus, un processeur ne peut exécuter qu'un processus à la fois, même si du point de vue de l'utilisateur, il semble que le système fait plusieurs choses en même temps, grâce au //système multitâche//. | + | |
- | >Cette impression est due à la rapidité de calcul du processeur, et à un programme essentiel au système, //l'ordonnanceur//, qui gère la priorité des différents processus placés en mémoire vive. | + | |
- | + | ||
- | >Un processus peut donc être suspendu, relancé, mis en arrière plan (job), en premier plan, être un processus père ou enfant, être orphelin, et même devenir un zombie 8-). | + | |
- | >La gestion des processus nécessite donc que chaque processus possède un identifiant. | + | |
- | + | ||
- | >Pour ce faire, un processus doit être identifié par un numéro unique que l'on appelle le PID (Process IDentifiant). | + | |
- | >Et chaque processus dispose d'un processus père que l'on appelle le PPID (Parent PID). | + | |
- | >Excepté le processus ''init'' qui a comme particularité d'être le premier processus et de toujours utiliser le ''PID 1''. | + | |
- | >Ce processus démarre ensuite des processus noyaux et les premiers processus systèmes. | + | |
- | + | ||
- | >Enfin, une des particularités des systèmes GNU/Linux, c'est qu'un processus s'exécute en fonction les droits accordés à l'utilisateur qui l'a lancé. | + | |
- | >Ceci participe fortement à la sécurité du système. | + | |
- | + | ||
- | Pour aller plus loin : | + | |
* [[doc:systeme:processus|processus]] | * [[doc:systeme:processus|processus]] | ||
* [[doc:systeme:ps?s[]=ps|la commande ps]] | * [[doc:systeme:ps?s[]=ps|la commande ps]] | ||
Ligne 209: | Ligne 187: | ||
* [[http://fr.wikibooks.org/wiki/Le_syst%C3%A8me_d%27exploitation_GNU-Linux/Processus]] | * [[http://fr.wikibooks.org/wiki/Le_syst%C3%A8me_d%27exploitation_GNU-Linux/Processus]] | ||
- | ===Lister les processus=== | + | === Rappel : deux façons de lister les processus=== |
* Pour se faire plaisir en observant la hiérarchie des processus ;-) : | * Pour se faire plaisir en observant la hiérarchie des processus ;-) : | ||
Ligne 221: | Ligne 199: | ||
top | top | ||
</code> | </code> | ||
- | Pour aller plus loin sur la récupération du PID voir : | ||
=== Exemple pratique : tuer un processus === | === Exemple pratique : tuer un processus === | ||
Ligne 239: | Ligne 216: | ||
</code> | </code> | ||
>Ici ''4245'' est le PID du processus. | >Ici ''4245'' est le PID du processus. | ||
- | >Il ne sera pas le même si vous exécutez cette commande. | + | >Il ne sera pas le même si vous exécutez cette commande sur votre machine, ou d'une fois à l'autre. |
* Tuer le processus : | * Tuer le processus : | ||
Ligne 326: | Ligne 303: | ||
<code user>ls | xargs rm | <code user>ls | xargs rm | ||
</code> | </code> | ||
- | >Pour vérifier que tout a été supprimé : | + | |
<code user>ls</code> | <code user>ls</code> | ||
+ | |||
+ | > Pour vérifier que tout a été supprimé : | ||
* Autre exemple : | * Autre exemple : | ||
Ligne 658: | Ligne 637: | ||
* **Pour les DÉBUTANTS AVISÉS et anglophile, voir là :[[http://mywiki.wooledge.org/BashFAQ]]** | * **Pour les DÉBUTANTS AVISÉS et anglophile, voir là :[[http://mywiki.wooledge.org/BashFAQ]]** | ||
- | * **À voir aussi : scripts debian-facile :** | + | * **À voir aussi : les scripts debian-facile :** |
*[[:doc:programmation:python:boutonfermer|[pygtk] Comment faire un notebook avec bouton "fermer"]] | *[[:doc:programmation:python:boutonfermer|[pygtk] Comment faire un notebook avec bouton "fermer"]] | ||
*[[:doc:programmation:bash:alias|[bash] Réalisation d'un script contenant des Alias]] | *[[:doc:programmation:bash:alias|[bash] Réalisation d'un script contenant des Alias]] |