3 Commits
Author SHA1 Message Date
Gregoire 99444305fe Dm termine par greg 2026-04-29 12:34:45 +00:00
villeminot e6e9532bc3 ajout test 2026-04-08 08:29:36 +00:00
villeminot 30f89bf62c ajout d'un fichier pour exemple 2026-04-08 08:27:02 +00:00
2 changed files with 52 additions and 0 deletions
Executable
+51
View File
@@ -0,0 +1,51 @@
#!/bin/bash
#FONCTION MONITOR
#affiche les parametres demandes
monitor(){
#On cree la variable CPU qui :
# - recupere le fichier sortie de top apres 1 iteration (-n1)
# - extrait la ligne '%CPU' (grep)
# - recupere la taille de CPU non utilisee (awk + $8)
# - stocke la valeur de CPU utilisee (100 - $8)
CPU=$(top -n1 | grep "%Cpu" | awk '{print 100 - $8}')
#On cree la variable MEM qui :
# - recupere le fichier de sortie de df
# - extrait la ligne contenant la partition sur /home (grep)
# - stocke la taille de memoire disponible (awk + $4)
MEM=$(df | grep "/home" | awk '{print $4}')
#On cree la variable PROC qui :
# - recupere la liste des processus en sortie de ps aux
# - extrait la colonne correspondant a l'etat des processus (awk + $8)
# - filtre les lignes pour ne recuperer que celles correspondant au statut "actif" (grep + R)
# - stocke le nombre de lignes (wc -l)
PROC=$(ps aux | awk '{print $8}' | grep R | wc -l)
echo ""
echo "----- PARAMETRES DE MONITORING -----"
echo "Part de CPU utilisee© : $CPU%"
echo "Memoire disponible : $MEM octets"
echo "Processus actifs : $PROC"
echo "------------------------------------"
echo ""
}
#CORPS DU SCRIPT
#S'il n'y a pas d'argument, le script renvoie une seule fois les parametres
if [[ "$#" == 0 ]]; then
monitor
else
#S'il y a comme premier agrument "-w" et comme deuxième argumen "x" un entier, le script affiche les paraetres toutes les x secondes a l'infini.
if [[ "$#" == 2 && "$1" == "-w" && "$2" =~ ^[0-9]+$ ]]; then
while true; do
monitor
sleep "$2"
done
#S'il y a des arguments qui sont incorrects, le script renvoie une message adequat
else
echo "Arguments incorrects"
fi
fi
+1
View File
@@ -0,0 +1 @@
coucou