Unix 3 (Mardi) Flashcards
C’est quoi (que contient) un processus ?
Un processus contient :
- Un programme en train de s’exécuter
- Un semble de données manipulées
- Des information utiles au systèmes ( Contexte d’exécution)
- Un numéro unique (PID)
- Un père (PPID)
C’est quoi un PID ?
Un numéro unique pour identifier un processus (Process Identifier)
Quel est la différence entrer un processus système et utilisateur ? Quel est l’autre du processus système ?
Le processus système ou Daemon :
- Pas associé à un terminal
- Propriétaire de l’administrateur
Le processus utilisateur :
- Tache particulière
- Durée de vie limitée
- Généralement associé à un terminal
Qui limite ne nombre de processus ?
Le système
Quels sont les problèmes posé par les processus ?
La gestion du temps / du processeur
Comment gérer les problèmes liés aux processus ?
Ordonnanceur = Donne l’ordre d’exécution des processeur
Multiprocesseur = Plusieurs processus en même temps
Quel est le seul processus qui n’a pas de père ?
Init
qui est en charge de booter le système
Que se passe-il si on tue le père d’un processus ?
Il est récupérer par le processus numéro 1
C’est quoi le PPID ?
Parent Process Identifier
Quels sont les différents état d’un processus
- Ready : Prêt à être exécuté
- Actif : En cours d’exécution
- Terminé
- Endormi / Suspendu
- Zombie (Defunct) (Terminé mais toujours référencé)
Que veut dire PCB ?
Process Control Block
C’est quoi le PCB ?
C’est un structure de données qui décrit un processus :
- PID, PPID, UID
- L’état
- Valeur des registre
- ect…
Quel est la commande pour lister les processus ?
ps ou ps -l pour plus d’info
Comment afficher TOUS les processus même ceux qui ne sont pas à nous ? (Dans le terminal comme un cat)
ps -aux ou ps aux ou ps -ef
Comment afficher TOUS les processus même ceux qui ne sont pas à nous ? (En mode interactif comme un less)
Quel est la plus-value de cette commande ?
top ou htop
Cela permet de savoir qui occupe les ressources mémoire du serveur
Quelle est la commande pour envoyer des signaux à des processus ?
kill
Comment envoyer une demande fin à un processus ? (Peut être gérer par le processus)
kill -15 pid ou kill pid
Comment envoyer un signal de fin forcé à un processus ?
kill -9 PID
Comment envoyer un signal d’arrêt temporaire à un processus ? (Mettre en pause) (Kill et raccourci clavier)
kill -STOP ou CTRL + Z
Comment envoyer un signal de reprise après arrêt à un processus ? (Commande)
kill -CONT PID
Quels sont les différents mode d’exécution des processus ?
Avant-plan (Foreground) = Exécution séquentielle et interaction avec l’utilisateur
Arrière-plan (Background) = Exécution concurrente
Que fait la commande jobs ?
Il affiche les processus (Arrière plan, suspendu et graphique détaché)
Quel est le raccourci pour arrêter un processus ?
CTRL + C
Quel le raccourci pour mettre un processus en pause ? (Stoppé)
CTRL + Z
Quel est l’avantage des pipes ?
Ils permettent un exécution concurrente des processus qu’on lie entre eux
Que se passe t’il quand on se deconnecte (pour nos processus) ?
Un signal HUP est envoyé à tous nos processus pour les faire s’arrêter (Hang Up)
Comment faire en sorte que nos processus continue même lorsqu’on se déconnecte ?
nohup commande
Quelle est la diférence entre :
kill 1 et kill %1
L’un tue le processus au PID numéro 1 et l’autre tue l’item numéro 1 dans la commande jobs
Quelles sont les étapes pour mettre un processus en arrière plan ?
- CTRL + Z (Le met en pause)
- jobs (Récupérer le numéro du processus)
- bg num (Mise en arrière effective)
A quoi sert cron ?
Cela permet d’exécuter des taches périodiques en arrière plan à l’aide du daemon cron
C’est quoi une variable d’environnement ?
C’est un couple noms / valeurs qui permet d’influencer le comportement de tous les programmes du système. Elles sont accessible par tous les processus.
Comment afficher la valeur d’une variable d’environnement et comment changer sa valeur ?
echo $PATH
PATH=”wow”
C’est quoi un Alias ?
Un alias est un raccourci d’une commande
Comment afficher la liste des alias ?
alias
Comment créer un alias ?
alias c=”clear”
Comment afficher la liste des variables d’environnement ?
env
Comment supprimer un alias ?
unalias c
Comment regrouper des fichiers ?
tar cvfz arhive.tar repertoire
Comment on peut compresser/decompresser un fichier ?
zip /unzip
compress / uncompress
Que fait la commande ll ?
ls -l
A quoi reconnaît ont les fichiers de configuration ?
. devant le nom
fichier / répertoire caché
C’est quoi un script shell ?
C’est une liste de commandes dans un fichier texte (Fichier batch)
Que doit contenir la première ligne d’un script shell ?
#!/bin/bash
Comment exécuter notre script shell ? (Suite de commande)
- Créer le fichier (touch script)
- Mettre la première ligne
- chmod u+x script
- ./script
Comment lancer un processus directement en tache de fond ?
commande &
Que se passe t’il si on fait bg sans préciser de numéro de processus ?
Cela va essayer de mettre en arrière plan le dernier processus stoppé (CTRL + Z)
Quelle est la commande pour voir l’arborescence des processus ?
pstree
Quelle est la commande pour tuer le terminal ?
kill -9 -1
Donner un exemple de pipe de commandes pour rechercher une login dans la sortie de la première et affichier les resultat page par page
ls -l | grep login | less
Que fait crontab -l ?
Il liste tous les cron (Commande programme) par nous
Comment changer le fichier cron ?
crontab -e
Comment remettre à 0 nos cron ?
crontab -r
Expliquer le découpage periodique de cron de cron (* * * * *)
minute / heure / jour du mois/ mois / Jour de la semaine
Par exemple :
0 0 1,3 * 1-5 clear
Tous les 1 et 3 du mois du lundi au vendredi à minuit
*/1 * * * * clear
Toutes les minutes