SlideShare une entreprise Scribd logo
Institut Supérieur des Etudes Technologiques de Jendouba
Département Technologies de l’Informatique
2ème
année Licence Appliquée
Atelier Système 2 (Linux)
Amir Souissi
TP N° 5
Les Processus et leurs Communications
Objectifs
• Effectuer des commandes de gestion des processus et des tâches,
• Exécution des tâches en avant-plan et en arrière-plan (tâches de fond),
• Comprendre les canaux de communication standards utilisés par les processus des commandes shell,
• Utiliser les commandes avec les différents types de redirections,
• Comprendre la notion de tube (pipe) et son avantage par rapport à la redirection.
1) Les Processus
Un processus (ou tâche) est un programme (application) ou une commande en cours d’exécution. (chargé en
mémoire et exécuté).
ps : (processes snapshot) affiche les informations sur les processus actifs dans le shell.
Tester les options –a, -l, -x
Identification : PID (Processus IDentification). Un processus est connu par le système d’exploitation par un
numéro unique.
pidof <nomprocessus> : retourne le PID d’un processus.
Quel est le PID du processus du terminal et le PID du processus de la commande ps ?
Quel est le nom du processus du terminal ?
Utilisez pidof pour déterminer le PID du processus du terminal ?
Filiation : un processus est lancé par un autre processus. Notion de parenté père-fils. Il existe un processus
unique, à l’origine de tous les autres.
ps -f
Vérifiez à travers le PPID que le père du processus de la commande ps –f est le shell ?
pstree : permet d’afficher les processus sous forme d’arborescence et donc de voir leurs indépendance. Permet
aussi de connaitre le nom d’un processus.
Appartenance : un processus appartient à un utilisateur et à un groupe.
ps –u : tous les processus de l’utilisateur courant
ps –aux : tous les processus en cours ps -ef
Ressources système : chaque processus pouvant accéder à des ressources du type fichier, une table de fichiers
ouverts associée à chaque processus et mise à jour. (table des fichiers ouverts).
top : permet d’afficher les processus en cours d’exécution (en mise à jour constamment). Il permet aussi de
suivre les ressources consommées par les processus ?
A quoi peut bien être utile la commande top ?
Quel est le PID et le nom du processus père de tous les autres processus ?
Graphiquement, vous pouvez aussi gérer les processus par le programme « Moniteur Système » d’Ubuntu.
Etat de fonctionnement : à une date donnée, un processus ne peut être que dans l’un des états de
fonctionnement suivants : actif (running), en attente de ressources (waiting) , en sommeil (sleeping).
kill <signal> <pid> : permet de tuer un processus en cours d’exécution.
Exemple :
kill -9 7804 : Envoie le signal 9, ou KILL, au processus ayant le PID 7804 ce qui a pour effet de tuer le
processus.
Si la fermeture d’un programme nécessite une permission, alors précéder le kill par un sudo.
Killall permet de tuer le processus par son nom et non par son PID.
Lancer firefox puis fermer le par un kill puis par un killall ?
Pour tuer une commande en cours d’exécution on peut utiliser aussi un CTRL + C.
Exercice A : processus
1. Taper la commande gnome-terminal pour ouvrir un nouveau shell à partir de votre shell.
2. Vérifier le PID de chacun des deux shell. Vérifier qu’ils ont le même père.
3. Tuer le processus du premier terminal par un kill.
Travail en tâche de fond : un programme qui s’exécute en tâche de fond (arrière-plan ou
background) est un job. Si on ne perd pas la main sur le shell, alors c’est un job en arrière-plan.
Pour suspendre (arrêter, stopper) un job en tâche de fond on utilise un Ctrl+Z.
jobs : permet de connaitre le statut d’un job dans une session courante.
Taper jobs rien ne s’affiche
Lancer gedit à partir du shell le shell est en arrière-plan
Faites un Ctrl+Z gedit est suspendu en arrière-plan et le shell est en avant-plan
Taper jobs déterminer le numéro job et l’état du job du programme gedit
bg <numéro job> : envoyer un processus suspendu en arrière-plan (background)
fg <numéro job> : envoyer un processus d’arrière-plan en avant-plan (foreground)
Le symbole & lance la tâche en arrière-plan et sans que le shell ne perd la main. (Ceci n’est intéressant que
pour une tâche dont l’exécution est longue)
xeyes & firefox & : Lancer les programmes xeyes et firefox en arrière-plan.
Déterminer leurs états par la commande jobs. ([1] pour xeyes et [2] pour firefox)
Taper bg <numjob firefox> ( bg 2). (Firefox est déjà en arrière-plan)
Mettre le programme xeyes en avant-plan par la commande fg. On perd la main sur le shell : Ce
dernier devient en arrière-plan.
Pour reprendre la main sur le shell, taper Ctrl+Z pour suspendre xeyes ou Ctrl+C pour le tuer. Dans
les deux cas, le shell reprend la main (c-à-d devient en avant-plan)
Un job est identifié par un numéro unique renvoyé par la commande jobs. Ce numéro est repéré par le système
d’exploitation par le signe %. Kill %numjob : pour tuer le job
Exercice B : états des jobs
1. Lancer xeyes en arrière-plan. Taper jobs et déterminer son état.
2. Mettre xeyes en avant-plan par un fg. On perd la main sur le shell.
3. Suspendre (arrêter) xeyes par un Ctrl+Z. Taper jobs et déterminer son état.
4. Relancer xeyes en arrière plan par un bg. Taper jobs et déterminer son état.
5. Tuer xeyes par un kill par son numéro de job. Taper jobs et déterminer son état.
2) Les canaux de communication standard et les redirections
Le shell, ou interpréteur de commandes, sert d’interface entre l’utilisateur et la machine (en fait, les processus
en exécution).
Chaque processus utilise des canaux de communication définis par défaut, ou « canaux de communication
standards » (canaux d’entrées sorties par défaut).
Il existe trois canaux standards : ces canaux sont aussi appelés « fichiers » et portent un nom.
Entrée standard : stdin
Sortie standard : stdout
Sortie d’erreur standard : stderr
Par défaut, les canaux standards sont associés à des périphériques et portent un numéro (appelé « descripteur
de fichier ») :
Entrée standard : clavier numéro 0
Sortie standard : console numéro 1
Sortie d’erreur standard : console numéro 2
Il est possible de rediriger les flots d’informations (en entrée ou en sortie) vers des fichiers
(redirections).
Redirection en sortie :
Le résultat de l’exécution d’une tâche peut être envoyé vers un fichier à l’aide de >.
Si l’on souhaite ne pas détruire le fichier lors d’une nouvelle exécution, il faut effectuer une concaténation à
l’aide de >>.
Exemples : ls -l > liste.txt
ls -l >> liste.txt (avec concaténation)
Vérifier le résultat obtenu. Est-il nécessaire que le fichier « liste.txt » existe préalablement ?
Redirection en entrée :
Les données sont prise dans un fichier à l’aide de <.
Exemple : wc < liste.txt (wc = word count)
Quel est l’affichage obtenu? Interprétez le résultat de l’affichage.
Remarque : il n’est pas possible d’effectuer une redirection sur un éditeur de textes.
Redirection en entrée et en sortie :
Il est possible de lancer une commande en redirigeant simultanément l’entrée et la sortie.
Remarque : le shell traite la ligne de commande de la gauche vers la droite.
Exemple : wc < liste.txt > resultat.txt
Redirection du canal de sortie d’erreur standard :
Le canal stderr porte le numéro 2. On utilise donc la commande : 2>
Exemple : (le répertoire de travail ne doit pas contenir de répertoire nommé « ce_répertoire »)
Lancez successivement les commandes :
rmdir ce_repertoire
rmdir ce_repertoire/ 2> erreur.txt
Quelles sont les différences d’exécution entre ces deux commandes ?
Si vous ne voulez pas voir les messages d’erreur s’afficher à l’écran, ni en faire une copie dans un fichier
(politique de l’autruche) vous pouvez toujours les envoyer dans un trou noir :
Exemple : rmdir ce_repertoire 2> /dev/null
Redirection du canal de sortie standard ET du canal d’erreur standard:
Exemple : (ls –l ; rmdir ce_repertoire) > fichier 2>&1
Expliquez la syntaxe utilisée pour la redirection ?
Pourquoi a-t-on placé des parenthèses ? essayer la même commande sans parenthèses ?
Exercice C : Redirections
1. Enregistrez dans un fichier nommé « data.txt » les noms, les terminaux utilisés et les heures de connexion de
tous les utilisateurs actuellement connectés sur le système.
- Avec plusieurs lignes de commandes successives.
- Avec une seule ligne de commande.
2. A l’aide de la commande cat, créez directement à partir du clavier, deux fichiers texte d’une ligne chacun
nommés « abc.txt » et « def.txt ».
3. Expliquez les résultats obtenus par les commandes suivantes :
cat def.txt >> abc.xyz
cat def.txt >> def.txt
cat < def.txt >> abc.txt
3) Les tubes
On peut exécuter plusieurs commandes successivement de façon totalement indépendante. Cela s’obtient en
séparant les commandes les unes des autres par le symbole « ; » :
commande ; commande ; commande ; Exemple : ls ; whoami ; echo salut
Ces trois commandes vont s’exécuter les unes après les autres.
Cette fois le but est de faire exécuter les processus de manière concurrente (en parallèle) et communicant entre
eux par l’intermédiaire de zones mémoires temporaires c'est-à-dire prises sur la mémoire centrale.
En utilisant la méthode de redirection, afficher la liste des fichiers se trouvant dans le répertoire courant,
trié par nom et obtenir une visualisation page par page ?
C’est quoi l’inconvénient de cette méthode ?
La notion de pipe ou tube va résoudre les problèmes de création de fichiers intermédiaire et le temps
d’exécution. Un tube est symbolisé par le symbole « | » :
ls ~ | sort | more
Le système Linux assure la synchronisation de l’ensemble :
- Les 3 processus correspondant aux 3 commandes s’exécutent en parallèle.
- Chaque processus qui lit dans un tube se bloque lorsque le tube est vide.
- Chaque processus qui écrit dans un tube s’arrête lorsque le tube est plein.
Les tubes vont permettre, en enchainant des commandes de bases entre elles, de réaliser des traitements
économisant le recours à la programmation.
On peut sélectionner successivement certaines lignes d’un fichier (selon un motif défini), réaliser un tri sur le
fichier, supprimer éventuellement les doublons, ne garder que les 20 premiers.
En utilisant la méthode de redirection, donner la liste de commandes shell permettant de sélectionner
successivement certaines lignes d’un fichier (selon un motif défini), réaliser un tri sur le fichier, supprimer
éventuellement les doublons, ne garder que les 20 premières lignes.
Exécuter cette commande : grep http log | sort -n -k2 | uniq | head - 20
Cet exemple permet de traiter un fichier de journalisation, de ne sélectionner que les lignes comportant le mot
« http », de trier ce fichier selon la deuxième colonne (en numérique), de supprimer les doublons et enfin d’en
extraire les 20 premières lignes.
Exercice D :
Réaliser à l’aide de tube les opérations suivantes :
1. Compter le nombre de fichiers se trouvant dans le répertoire courant.
2. Compter le nombre d’utilisateurs connectés.
En utilisant le fichier /etc/passwd, donner la liste, classée par ordre alphabétique, des utilisateurs pouvant
travailler en Bash.

Contenu connexe

Tendances

Tp n 6 linux
Tp n 6 linuxTp n 6 linux
Tp n 6 linux
Amir Souissi
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
Houda TOUKABRI
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation web
MOHAMMED MOURADI
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
Amir Souissi
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2
Faycel Chaoua
 
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Mohamed Amine Mahmoudi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
Amir Souissi
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
Abel LIFAEFI MBULA
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
Lilia Sfaxi
 
MEMOIRE DE STAGE
MEMOIRE DE STAGEMEMOIRE DE STAGE
MEMOIRE DE STAGE
jemmeli nejmeddine
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
webreaker
 
Exercice2
Exercice2Exercice2
Exercice2
Kayl Mido
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
Lilia Sfaxi
 
Tp securité des reseaux
Tp securité des reseauxTp securité des reseaux
Tp securité des reseaux
Achille Njomo
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
Donia Hammami
 
Systèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionSystèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introduction
Lilia Sfaxi
 
étapes de réalisation réseau local
étapes de réalisation réseau localétapes de réalisation réseau local
étapes de réalisation réseau local
FAN COMPUTING
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
Donia Hammami
 

Tendances (20)

Tp n 6 linux
Tp n 6 linuxTp n 6 linux
Tp n 6 linux
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation web
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2
 
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
MEMOIRE DE STAGE
MEMOIRE DE STAGEMEMOIRE DE STAGE
MEMOIRE DE STAGE
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Exercice2
Exercice2Exercice2
Exercice2
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Tp securité des reseaux
Tp securité des reseauxTp securité des reseaux
Tp securité des reseaux
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
 
Systèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionSystèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introduction
 
étapes de réalisation réseau local
étapes de réalisation réseau localétapes de réalisation réseau local
étapes de réalisation réseau local
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
 
Cours fondement du multimedia
Cours fondement du multimediaCours fondement du multimedia
Cours fondement du multimedia
 

Similaire à Tp n 5 linux

Chapitre 4 Linux
Chapitre 4 LinuxChapitre 4 Linux
Gestion-des-parcs-informatiques Windows et Linux.pptx
Gestion-des-parcs-informatiques Windows et Linux.pptxGestion-des-parcs-informatiques Windows et Linux.pptx
Gestion-des-parcs-informatiques Windows et Linux.pptx
ssusercbaa22
 
s de base
s de bases de base
s de base
alimesbahi3
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processus
guebba sara
 
les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)
Souhaib El
 
Expose linux gestion des processus
Expose linux  gestion des processusExpose linux  gestion des processus
Expose linux gestion des processus
Fatima Zahra Fagroud
 
Linux Administrateur
Linux AdministrateurLinux Administrateur
Linux Administrateur
Open Source School
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
Sana Aroussi
 
Scripting Linux avec Python partie1.pptx
Scripting Linux avec Python partie1.pptxScripting Linux avec Python partie1.pptx
Scripting Linux avec Python partie1.pptx
FrancisRUKAN
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére filsSelman Dridi
 
UNIX_SE4_2023 (1).pdf
UNIX_SE4_2023 (1).pdfUNIX_SE4_2023 (1).pdf
UNIX_SE4_2023 (1).pdf
YassineZouin
 
C2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partie
Loic Yon
 
Formation python
Formation pythonFormation python
Formation python
Thierry Gayet
 
lpi 101 notes de cours
lpi 101 notes de courslpi 101 notes de cours
lpi 101 notes de cours
ISIG
 
Chap3 Le shell et les commandes.ffffffpptx
Chap3 Le shell et les commandes.ffffffpptxChap3 Le shell et les commandes.ffffffpptx
Chap3 Le shell et les commandes.ffffffpptx
adammoussaif360
 
Boot
BootBoot
Comment analyser une machine linux compromise
Comment analyser une machine linux compromiseComment analyser une machine linux compromise
Comment analyser une machine linux compromise
Tarek MOHAMED
 
Chapitre2-startup.pdf
Chapitre2-startup.pdfChapitre2-startup.pdf
Chapitre2-startup.pdf
BoudarraWalid
 
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdfcoursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
RihabBENLAMINE
 
Tuto crontab
Tuto crontabTuto crontab
Tuto crontab
Winslo Nwan
 

Similaire à Tp n 5 linux (20)

Chapitre 4 Linux
Chapitre 4 LinuxChapitre 4 Linux
Chapitre 4 Linux
 
Gestion-des-parcs-informatiques Windows et Linux.pptx
Gestion-des-parcs-informatiques Windows et Linux.pptxGestion-des-parcs-informatiques Windows et Linux.pptx
Gestion-des-parcs-informatiques Windows et Linux.pptx
 
s de base
s de bases de base
s de base
 
Gestion des processus
Gestion des processusGestion des processus
Gestion des processus
 
les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)
 
Expose linux gestion des processus
Expose linux  gestion des processusExpose linux  gestion des processus
Expose linux gestion des processus
 
Linux Administrateur
Linux AdministrateurLinux Administrateur
Linux Administrateur
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Scripting Linux avec Python partie1.pptx
Scripting Linux avec Python partie1.pptxScripting Linux avec Python partie1.pptx
Scripting Linux avec Python partie1.pptx
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére fils
 
UNIX_SE4_2023 (1).pdf
UNIX_SE4_2023 (1).pdfUNIX_SE4_2023 (1).pdf
UNIX_SE4_2023 (1).pdf
 
C2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partie
 
Formation python
Formation pythonFormation python
Formation python
 
lpi 101 notes de cours
lpi 101 notes de courslpi 101 notes de cours
lpi 101 notes de cours
 
Chap3 Le shell et les commandes.ffffffpptx
Chap3 Le shell et les commandes.ffffffpptxChap3 Le shell et les commandes.ffffffpptx
Chap3 Le shell et les commandes.ffffffpptx
 
Boot
BootBoot
Boot
 
Comment analyser une machine linux compromise
Comment analyser une machine linux compromiseComment analyser une machine linux compromise
Comment analyser une machine linux compromise
 
Chapitre2-startup.pdf
Chapitre2-startup.pdfChapitre2-startup.pdf
Chapitre2-startup.pdf
 
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdfcoursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
 
Tuto crontab
Tuto crontabTuto crontab
Tuto crontab
 

Plus de Amir Souissi

Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
Amir Souissi
 
Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptions
Amir Souissi
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
Amir Souissi
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
Amir Souissi
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donnees
Amir Souissi
 
Chapitre 3 activites et intents
Chapitre 3   activites et  intentsChapitre 3   activites et  intents
Chapitre 3 activites et intents
Amir Souissi
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
Amir Souissi
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
Amir Souissi
 
Chapitre 2 elements graphiques android
Chapitre 2   elements graphiques androidChapitre 2   elements graphiques android
Chapitre 2 elements graphiques android
Amir Souissi
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement android
Amir Souissi
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3
Amir Souissi
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2
Amir Souissi
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1
Amir Souissi
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
Amir Souissi
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
Amir Souissi
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
Amir Souissi
 

Plus de Amir Souissi (16)

Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
 
Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptions
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donnees
 
Chapitre 3 activites et intents
Chapitre 3   activites et  intentsChapitre 3   activites et  intents
Chapitre 3 activites et intents
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
 
Chapitre 2 elements graphiques android
Chapitre 2   elements graphiques androidChapitre 2   elements graphiques android
Chapitre 2 elements graphiques android
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement android
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
 

Dernier

Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
MelDjobo
 
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupeCours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Yuma91
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
IES Turina/Rodrigo/Itaca/Palomeras
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Système de gestion des fichiers de amine
Système de gestion des fichiers de amineSystème de gestion des fichiers de amine
Système de gestion des fichiers de amine
sewawillis
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
GiselaAlves15
 
Contrôle fiscale en république de guinée
Contrôle fiscale en république de guinéeContrôle fiscale en république de guinée
Contrôle fiscale en république de guinée
bangalykaba146
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
frizzole
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
Moukagni Evrard
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Formation
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
mrelmejri
 
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
BenotGeorges3
 

Dernier (15)

Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
 
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupeCours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Système de gestion des fichiers de amine
Système de gestion des fichiers de amineSystème de gestion des fichiers de amine
Système de gestion des fichiers de amine
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
 
Contrôle fiscale en république de guinée
Contrôle fiscale en république de guinéeContrôle fiscale en république de guinée
Contrôle fiscale en république de guinée
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
 
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
 

Tp n 5 linux

  • 1. Institut Supérieur des Etudes Technologiques de Jendouba Département Technologies de l’Informatique 2ème année Licence Appliquée Atelier Système 2 (Linux) Amir Souissi TP N° 5 Les Processus et leurs Communications Objectifs • Effectuer des commandes de gestion des processus et des tâches, • Exécution des tâches en avant-plan et en arrière-plan (tâches de fond), • Comprendre les canaux de communication standards utilisés par les processus des commandes shell, • Utiliser les commandes avec les différents types de redirections, • Comprendre la notion de tube (pipe) et son avantage par rapport à la redirection. 1) Les Processus Un processus (ou tâche) est un programme (application) ou une commande en cours d’exécution. (chargé en mémoire et exécuté). ps : (processes snapshot) affiche les informations sur les processus actifs dans le shell. Tester les options –a, -l, -x Identification : PID (Processus IDentification). Un processus est connu par le système d’exploitation par un numéro unique. pidof <nomprocessus> : retourne le PID d’un processus. Quel est le PID du processus du terminal et le PID du processus de la commande ps ? Quel est le nom du processus du terminal ? Utilisez pidof pour déterminer le PID du processus du terminal ? Filiation : un processus est lancé par un autre processus. Notion de parenté père-fils. Il existe un processus unique, à l’origine de tous les autres. ps -f Vérifiez à travers le PPID que le père du processus de la commande ps –f est le shell ? pstree : permet d’afficher les processus sous forme d’arborescence et donc de voir leurs indépendance. Permet aussi de connaitre le nom d’un processus. Appartenance : un processus appartient à un utilisateur et à un groupe. ps –u : tous les processus de l’utilisateur courant ps –aux : tous les processus en cours ps -ef Ressources système : chaque processus pouvant accéder à des ressources du type fichier, une table de fichiers ouverts associée à chaque processus et mise à jour. (table des fichiers ouverts). top : permet d’afficher les processus en cours d’exécution (en mise à jour constamment). Il permet aussi de suivre les ressources consommées par les processus ? A quoi peut bien être utile la commande top ? Quel est le PID et le nom du processus père de tous les autres processus ? Graphiquement, vous pouvez aussi gérer les processus par le programme « Moniteur Système » d’Ubuntu.
  • 2. Etat de fonctionnement : à une date donnée, un processus ne peut être que dans l’un des états de fonctionnement suivants : actif (running), en attente de ressources (waiting) , en sommeil (sleeping). kill <signal> <pid> : permet de tuer un processus en cours d’exécution. Exemple : kill -9 7804 : Envoie le signal 9, ou KILL, au processus ayant le PID 7804 ce qui a pour effet de tuer le processus. Si la fermeture d’un programme nécessite une permission, alors précéder le kill par un sudo. Killall permet de tuer le processus par son nom et non par son PID. Lancer firefox puis fermer le par un kill puis par un killall ? Pour tuer une commande en cours d’exécution on peut utiliser aussi un CTRL + C. Exercice A : processus 1. Taper la commande gnome-terminal pour ouvrir un nouveau shell à partir de votre shell. 2. Vérifier le PID de chacun des deux shell. Vérifier qu’ils ont le même père. 3. Tuer le processus du premier terminal par un kill. Travail en tâche de fond : un programme qui s’exécute en tâche de fond (arrière-plan ou background) est un job. Si on ne perd pas la main sur le shell, alors c’est un job en arrière-plan. Pour suspendre (arrêter, stopper) un job en tâche de fond on utilise un Ctrl+Z. jobs : permet de connaitre le statut d’un job dans une session courante. Taper jobs rien ne s’affiche Lancer gedit à partir du shell le shell est en arrière-plan Faites un Ctrl+Z gedit est suspendu en arrière-plan et le shell est en avant-plan Taper jobs déterminer le numéro job et l’état du job du programme gedit bg <numéro job> : envoyer un processus suspendu en arrière-plan (background) fg <numéro job> : envoyer un processus d’arrière-plan en avant-plan (foreground) Le symbole & lance la tâche en arrière-plan et sans que le shell ne perd la main. (Ceci n’est intéressant que pour une tâche dont l’exécution est longue) xeyes & firefox & : Lancer les programmes xeyes et firefox en arrière-plan. Déterminer leurs états par la commande jobs. ([1] pour xeyes et [2] pour firefox) Taper bg <numjob firefox> ( bg 2). (Firefox est déjà en arrière-plan) Mettre le programme xeyes en avant-plan par la commande fg. On perd la main sur le shell : Ce dernier devient en arrière-plan. Pour reprendre la main sur le shell, taper Ctrl+Z pour suspendre xeyes ou Ctrl+C pour le tuer. Dans les deux cas, le shell reprend la main (c-à-d devient en avant-plan) Un job est identifié par un numéro unique renvoyé par la commande jobs. Ce numéro est repéré par le système d’exploitation par le signe %. Kill %numjob : pour tuer le job Exercice B : états des jobs 1. Lancer xeyes en arrière-plan. Taper jobs et déterminer son état. 2. Mettre xeyes en avant-plan par un fg. On perd la main sur le shell. 3. Suspendre (arrêter) xeyes par un Ctrl+Z. Taper jobs et déterminer son état. 4. Relancer xeyes en arrière plan par un bg. Taper jobs et déterminer son état. 5. Tuer xeyes par un kill par son numéro de job. Taper jobs et déterminer son état.
  • 3. 2) Les canaux de communication standard et les redirections Le shell, ou interpréteur de commandes, sert d’interface entre l’utilisateur et la machine (en fait, les processus en exécution). Chaque processus utilise des canaux de communication définis par défaut, ou « canaux de communication standards » (canaux d’entrées sorties par défaut). Il existe trois canaux standards : ces canaux sont aussi appelés « fichiers » et portent un nom. Entrée standard : stdin Sortie standard : stdout Sortie d’erreur standard : stderr Par défaut, les canaux standards sont associés à des périphériques et portent un numéro (appelé « descripteur de fichier ») : Entrée standard : clavier numéro 0 Sortie standard : console numéro 1 Sortie d’erreur standard : console numéro 2 Il est possible de rediriger les flots d’informations (en entrée ou en sortie) vers des fichiers (redirections). Redirection en sortie : Le résultat de l’exécution d’une tâche peut être envoyé vers un fichier à l’aide de >. Si l’on souhaite ne pas détruire le fichier lors d’une nouvelle exécution, il faut effectuer une concaténation à l’aide de >>. Exemples : ls -l > liste.txt ls -l >> liste.txt (avec concaténation) Vérifier le résultat obtenu. Est-il nécessaire que le fichier « liste.txt » existe préalablement ? Redirection en entrée : Les données sont prise dans un fichier à l’aide de <. Exemple : wc < liste.txt (wc = word count) Quel est l’affichage obtenu? Interprétez le résultat de l’affichage. Remarque : il n’est pas possible d’effectuer une redirection sur un éditeur de textes. Redirection en entrée et en sortie : Il est possible de lancer une commande en redirigeant simultanément l’entrée et la sortie. Remarque : le shell traite la ligne de commande de la gauche vers la droite. Exemple : wc < liste.txt > resultat.txt Redirection du canal de sortie d’erreur standard : Le canal stderr porte le numéro 2. On utilise donc la commande : 2> Exemple : (le répertoire de travail ne doit pas contenir de répertoire nommé « ce_répertoire ») Lancez successivement les commandes : rmdir ce_repertoire rmdir ce_repertoire/ 2> erreur.txt Quelles sont les différences d’exécution entre ces deux commandes ? Si vous ne voulez pas voir les messages d’erreur s’afficher à l’écran, ni en faire une copie dans un fichier (politique de l’autruche) vous pouvez toujours les envoyer dans un trou noir : Exemple : rmdir ce_repertoire 2> /dev/null Redirection du canal de sortie standard ET du canal d’erreur standard: Exemple : (ls –l ; rmdir ce_repertoire) > fichier 2>&1
  • 4. Expliquez la syntaxe utilisée pour la redirection ? Pourquoi a-t-on placé des parenthèses ? essayer la même commande sans parenthèses ? Exercice C : Redirections 1. Enregistrez dans un fichier nommé « data.txt » les noms, les terminaux utilisés et les heures de connexion de tous les utilisateurs actuellement connectés sur le système. - Avec plusieurs lignes de commandes successives. - Avec une seule ligne de commande. 2. A l’aide de la commande cat, créez directement à partir du clavier, deux fichiers texte d’une ligne chacun nommés « abc.txt » et « def.txt ». 3. Expliquez les résultats obtenus par les commandes suivantes : cat def.txt >> abc.xyz cat def.txt >> def.txt cat < def.txt >> abc.txt 3) Les tubes On peut exécuter plusieurs commandes successivement de façon totalement indépendante. Cela s’obtient en séparant les commandes les unes des autres par le symbole « ; » : commande ; commande ; commande ; Exemple : ls ; whoami ; echo salut Ces trois commandes vont s’exécuter les unes après les autres. Cette fois le but est de faire exécuter les processus de manière concurrente (en parallèle) et communicant entre eux par l’intermédiaire de zones mémoires temporaires c'est-à-dire prises sur la mémoire centrale. En utilisant la méthode de redirection, afficher la liste des fichiers se trouvant dans le répertoire courant, trié par nom et obtenir une visualisation page par page ? C’est quoi l’inconvénient de cette méthode ? La notion de pipe ou tube va résoudre les problèmes de création de fichiers intermédiaire et le temps d’exécution. Un tube est symbolisé par le symbole « | » : ls ~ | sort | more Le système Linux assure la synchronisation de l’ensemble : - Les 3 processus correspondant aux 3 commandes s’exécutent en parallèle. - Chaque processus qui lit dans un tube se bloque lorsque le tube est vide. - Chaque processus qui écrit dans un tube s’arrête lorsque le tube est plein. Les tubes vont permettre, en enchainant des commandes de bases entre elles, de réaliser des traitements économisant le recours à la programmation. On peut sélectionner successivement certaines lignes d’un fichier (selon un motif défini), réaliser un tri sur le fichier, supprimer éventuellement les doublons, ne garder que les 20 premiers. En utilisant la méthode de redirection, donner la liste de commandes shell permettant de sélectionner successivement certaines lignes d’un fichier (selon un motif défini), réaliser un tri sur le fichier, supprimer éventuellement les doublons, ne garder que les 20 premières lignes. Exécuter cette commande : grep http log | sort -n -k2 | uniq | head - 20 Cet exemple permet de traiter un fichier de journalisation, de ne sélectionner que les lignes comportant le mot « http », de trier ce fichier selon la deuxième colonne (en numérique), de supprimer les doublons et enfin d’en extraire les 20 premières lignes. Exercice D : Réaliser à l’aide de tube les opérations suivantes : 1. Compter le nombre de fichiers se trouvant dans le répertoire courant. 2. Compter le nombre d’utilisateurs connectés. En utilisant le fichier /etc/passwd, donner la liste, classée par ordre alphabétique, des utilisateurs pouvant travailler en Bash.