ajout de tp de systeme

master
Antoine PEREDERII 2 years ago
parent 105f3ff46c
commit fd92592b7e

@ -0,0 +1,66 @@
#!/bin/bash
doc() {
cat << EOF >&2
Affiche le nombre de processus de chaque utilisateur possédant au moins
1 processus dans le système.
usage : \`basename $0\` \[ -h \]
-h : affiche cette aide.
EOF
}
usage() {
doc
exit 1
}
# 1. Compte le nombre de processus de l'utilisateur dont le login est passé en argument.
# 2. $1 : le login.
# 3. stdout : le nombre de processus de l'utilisateur.
processOneUser() {
# Les remarques indiquées dans la fonction processAllUsers
# s'appliquent également à cette fonction
### A COMPLETER (1 ligne) ###
}
# 1. Affiche le tableau (non trié) du nombre de processus par utilisateur.
# 2. Pas d'argument.
# 3. stdout : le tableau.
processAllUsers() {
# traitement
# ----------
# début
# L<-liste des utilisateurs possédant un processus en mémoire
# pour i élément de L faire
# n=nombre de processus de l'utilisateur i dans le système
# afficher "i n"
# fin pour
# fin
# Remarques :
# 1. pour obtenir la liste des propriétaire des processus, utilisez la
# commande : ps h -eo user
# 2. Pour éliminer les doublons d'une liste filtrez la avec la commande :
# sort -u.
### A COMPLETER (5 lignes) ###
}
# Début du traitement des arguments.
while [ $# -ne 0 ]; do
case $1 in
-h|--help)
doc
exit 0
;;
*) usage
;;
esac
shift
done
# Fin du traitement des arguments.

@ -0,0 +1,22 @@
#!/bin/bash
while [ $# -ne 0 ]; do
case "$1" in
'-user')
l=$2
shift 2
if [ "$2" = 0 ]; then
echo "manque le nom d'utilisateur" >&2
exit 1
fi
echo $(ps -U)
echo $(find -name "$l")
if [ $? -ne 0 ] ; then
echo "aucun utilisateur avec ce nom n'a été trouvé !!"
fi
;;
*)
echo "Argument $1 inconnu" >&2 && exit 2
;;
esac
done
Loading…
Cancel
Save