« Le système d'exploitation GNU-Linux/Processus » : différence entre les versions

aucun résumé de modification
Aucun résumé des modifications
Un processus dispose d'un processus père que l'on appelle le PPID ('''P'''arent '''PID''').
 
La particularité d'un processus est de s'exécuter avec les droits accordés à l'utilisateur qui a lancé la commande. Ceci participe fortement à la sécurité du système. Ainsi, si un utilisateur contracte un programme malveillant (un virus par exemple), le processus sera soumis au droit d'accésaccès de cet utilisateur, et ne pourra pas effectuer des opérations non autorisées (comme par exemple modifier le fichier de mots de passe).
 
Au démarrage de l'ordinateur, le système charge le noyau Linux qui se charge de l'initialisation du matériel et de la détection des périphériques. Ceci fait, il démarre ensuite le processus '''init''' qui a comme particularité d'être le premier processus et de disposer du PID n°1. Ce processus démarre ensuite des processus noyaux (noté entre crochet), et les premiers processus systèmes.
La commande '''ps''' permet d'afficher les processus. Utilisée sans option, la commande '''ps''' affiche les processus de l'utilisateur courant associé au terminal courant.
 
Pour connaitreconnaître tous les processus, y compris ceceux qui ne sont pas associés à unau terminal courant, on utilise les options '''aux''' (notation BSD) et '''-ef''' (notation Unix). Pour connaitreconnaître la totalité des options, consulter la page de manuel de la commande ps ('''man ps''').
 
Exemples :
=== Les différents signaux ===
 
Pour connaitreconnaître la liste des signaux, il suffit de consulter la page de manuel de '''signal''' (section 7) :
 
$ man 7 signal
Les signaux les plus connus sont les trois suivants :
 
* '''SIGHUP''' (signal n°1) : pour beaucoup de services réseaux, la réception du signal n°1 lui indique de lire sa configuration. Par exemple, cela permet d'indiquer au processus '''apache''' (serveur web) de relire sa configuration, sans avoir a arréterarrêter et redémarrer le processus.
 
* '''SIGKILL''' (signal n°9) : termine un processus (arrêt brutal). Utile lorsque le SIGTERM ne marche pas (processus planté).
$ kill -15 2571
 
La commande '''killall''' permet d'indiquer le nom du processus plutotplutôt que son PID, et va envoyer le signal à tous les processus possédant ce nom. Exemple :
$ xeyes & ; xeyes & ; xeyes &
== Autres commandes affichant les processus ==
 
La commande '''top''' permet d'afficher (entre autres) la liste des processus de manière dynamique (rafraichitrafraîchit la liste toutes les 3 secondes).
 
Lorsque la commande '''top''' fonctionne, les lettres suivantes permettent de changer son fonctionnement :
* '''M''' : tri les processus par utilisation de la mémoire (du plus gourmand au plus sobre)
* '''P''' : tri les processus par utilisation du processeur (du plus gourmand au plus sobre)
* '''s''' : permet de changer la durée de rafraichissementrafraîchissement de top
* '''k''' : permet d'envoyer un signal à un processus
 
$ nohup application &
 
La sortie standartstandard est automatiquement redirigée vers nohup.out dans le répertoire courant, sauf si un redirection est spécifiée.
 
$ nohup application & > application.log
Utilisateur anonyme