0% ont trouvé ce document utile (0 vote)
121 vues14 pages

Processus et commandes Linux essentielles

Ce document décrit les processus dans le système Linux. Il explique ce qu'est un processus, son identifiant unique (PID), sa relation hiérarchique avec les autres processus via le PPID. Il détaille également les commandes pour gérer les processus comme ps, pstree, top et kill, ainsi que les signaux pour les contrôler.

Transféré par

lohi0669
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
121 vues14 pages

Processus et commandes Linux essentielles

Ce document décrit les processus dans le système Linux. Il explique ce qu'est un processus, son identifiant unique (PID), sa relation hiérarchique avec les autres processus via le PPID. Il détaille également les commandes pour gérer les processus comme ps, pstree, top et kill, ainsi que les signaux pour les contrôler.

Transféré par

lohi0669
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Exposé Sur: Les processus dans le systéme Linux

Etudiante: Aggab Hibat-Errahmane

Groupe: N°01

Proff: Mme. Gasmi

2022/2023
Introduction: Les Processus

Un processus est un ensemble d’instructions qui sont en train

d’être exécutées par un ordinateur. Il provient d’un programme et

nécessite des ressources comme du temps, de la mémoire, des fichiers et

des périphériques. Le système d’exploitation est le logiciel principal qui

dirige l’utilisation des ressources par les processus. Il reçoit des demandes

de la part des logiciels applicatifs et gère les processus en les créant, en

les interrompant et en les supprimant. Le système d’exploitation apporte

ainsi commodité, efficacité et capacité d’évolution aux logiciels et au

matériel informatique. Les processus sont identifiés par un numéro

unique (PID) et sont organisés de façon hiérarchique (PPID) selon une

relation père/fils. Il existe des commandes pour gérer et surveiller les

processus, comme ps, pstree, top, htop et kill. Il existe aussi des signaux

pour communiquer avec les processus et les contrôler.

Processus sous Linux PID PPID fork thread


Un processus sous Linux est un programme en cours d’exécution

qui utilise des ressources du système comme le processeur, la mémoire,

les fichiers et les périphériques.

Chaque processus a un identifiant unique appelé PID (Process

Identifier) qui permet de le reconnaître et de le manipuler. Le PID est un

nombre entier qui commence à 1 et qui est attribué séquentiellement aux

processus créés.

Les processus sont organisés de façon hiérarchique selon une

relation père/fils. Chaque processus a un PPID (Parent Process Identifier)

qui correspond au PID du processus qui l’a créé. Le premier processus du

système est le processus init (ou systemd) qui a le PID et qui est le père

de tous les autres processus.

La création d’un processus se fait par l’appel système fork qui

duplique le processus appelant en créant un processus fils. Le processus

fils hérite des caractéristiques du processus père mais possède son

propre PID et son propre espace mémoire. L’appel fork renvoie le PID du

fils au père et 0 au fils.

Un thread est une unité d’exécution légère qui partage l’espace

mémoire et les ressources du processus auquel il appartient. Un thread a


son propre TID (Thread Identifier) qui est équivalent au LWP (LightWeight

Process) mais qui n’est pas visible par les commandes usuelles. Un thread

peut être créé par l’appel système clone ou par l’utilisation de

bibliothèques comme pthread.

Commandes ps pstree top htop kill sur Linux

La commande ps permet de lister les processus en cours

d’exécution et d’afficher des informations sur ces processus, comme leur

PID, leur PPID, leur état, leur temps CPU, leur mémoire utilisée, etc. On

peut utiliser différentes options pour filtrer ou formater les résultats, par

exemple :

ps -e : affiche tous les processus du système.

ps -u user : affiche les processus appartenant à l’utilisateur user.

ps -f : affiche les processus avec une sortie complète (full format).

ps -o pid,ppid,user,args : affiche les processus avec les colonnes

spécifiées (pid, ppid, user, args).

La commande pstree permet de visualiser les processus sous forme

d’arbre selon leur relation père/fils. On peut utiliser différentes options

pour modifier l’affichage de l’arbre, par exemple :


pstree -p : affiche les PID des processus entre parenthèses.

pstree -u user : affiche seulement les processus appartenant à

l’utilisateur user.

pstree -a : affiche les arguments passés aux processus.

pstree -c : ne compresse pas les branches identiques de l’arbre.

La commande top permet de surveiller en temps réel les processus

et les ressources du système comme le processeur, la mémoire, le disque

et le réseau. On peut utiliser différentes touches pour interagir avec la

commande top, par exemple :

k : permet de tuer un processus en entrant son PID.

u : permet de filtrer les processus par utilisateur.

P : permet de trier les processus par utilisation du processeur.

M : permet de trier les processus par utilisation de la mémoire.

La commande htop est une version améliorée de la commande top

qui offre une interface plus conviviale et plus de fonctionnalités. On peut

utiliser différentes touches pour interagir avec la commande htop, par

exemple :
F9 ou k : permet de tuer un processus en sélectionnant le signal à

envoyer.

F4 ou / : permet de rechercher un processus par son nom.

F5 ou t : permet d’afficher les processus sous forme d’arbre.

F6 ou > : permet de trier les processus par différents critères.

La commande kill permet d’envoyer un signal à un ou plusieurs

processus pour les arrêter ou les contrôler. On peut utiliser différentes

options pour spécifier le signal à envoyer ou le PID du processus à cibler,

par exemple :

kill pid : envoie le signal SIGTERM au processus dont le PID est pid.

kill -s SIGKILL pid : envoie le signal SIGKILL au processus dont le PID

est pid.

kill -l : affiche la liste des signaux disponibles.

Signaux Linux et la commande kill

Un signal est un moyen de communication entre les processus et le

système d’exploitation. Il s’agit d’une notification asynchrone qui informe


un processus qu’un événement particulier s’est produit. Par exemple, un

signal peut être envoyé lorsqu’un processus dépasse son temps

d’exécution, lorsqu’un utilisateur appuie sur Ctrl+C, ou lorsqu’un

processus enfant se termine.

Un signal peut être envoyé par la commande kill, par une combinaison de

touches au clavier, ou par un appel système. Un signal peut être reçu par

un processus qui peut réagir de différentes manières selon le type de

signal1. Par défaut, la plupart des signaux entraînent la terminaison du

processus, mais certains signaux peuvent être ignorés ou interceptés par

le processus qui peut exécuter une routine de traitement spécifique.

Il existe plusieurs signaux normalisés qui ont un nom (précédé de SIG) et

un numéro associé. Les signaux les plus courants sont :

SIGINT (2) : interrompt le processus, similaire à l’appui sur Ctrl+C.

SIGKILL (9) : force le processus à se terminer immédiatement, sans lui

permettre de se nettoyer ou de sauvegarder ses données.

SIGSTOP (19) : arrête le processus, l’empêchant de s’exécuter ou de

consommer des ressources.

SIGCONT (18) : reprend un processus arrêté.

SIGTERM (15) : demande au processus de se terminer proprement.


La commande kill permet d’envoyer un signal à un ou plusieurs processus

pour les arrêter ou les contrôler. On peut utiliser différentes options pour

spécifier le signal à envoyer ou le PID du processus à cibler, par exemple :

kill pid : envoie le signal SIGTERM au processus dont le PID est pid.

kill -s SIGKILL pid : envoie le signal SIGKILL au processus dont le PID

est pid.

kill -l : affiche la liste des signaux disponibles.


Conclusion:

Un processus sous Linux est un programme en cours d’exécution

qui utilise des ressources du système comme le processeur, la mémoire,

les fichiers et les périphériques.

Chaque processus a un identifiant unique (PID) et un identifiant de

parent (PPID) qui définissent sa place dans la hiérarchie des processus.

Un processus peut être créé par l’appel système fork qui duplique le

processus appelant, ou par l’appel système clone qui crée un thread au

sein du même espace mémoire.

Il existe des commandes pour lister, visualiser et surveiller les

processus, comme ps, pstree, top et htop.

Il existe des signaux pour arrêter ou contrôler les processus, comme

SIGINT, SIGKILL, SIGSTOP, SIGCONT et SIGTERM. Ces signaux peuvent être

envoyés par la commande kill ou par une combinaison de touches au

clavier.

Connaître et maîtriser les processus sous Linux est important pour

l’administration système, car cela permet de contrôler le fonctionnement

du système, de détecter et de résoudre les problèmes, et d’optimiser les

performances et la sécurité.

Vous aimerez peut-être aussi