Exercice script unix shell - processus -


L'objectif de cet exercice est de créer une commande ikill ne prenant pas d'argument mais demandant un nom de programme à l'utilisateur et tuant ce programme. On utilisera les commandes tr -s ' ', cut, kill, read, ps -fA, grep, grep -v et echo.

La commande affichera :

Quel processus voulez-vous supprimer ?

Vous rentrerez un nom de processus, par exemple emacs et tous les processus emacs seront supprimés.

  1. Lire les pages de man des commandes utilisées.
  2. Quels sont les greps qu'il faut effectuer sur la sortie de ps -fA pour ne conserver que le processus que l'on souhaite tuer (essayer avec ps -fA | grep bash). Utilisez la variable $USER.
  3. Stockez la liste de PID des processus à supprimer dans la variable $PID et affichez la.
  4. Écrire la commande. N'oubliez pas de vérifier que la variable $PID n'est pas vide avant d'effectuer le kill.

Correction :

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
echo -n "Quel processus voulez-vous supprimer ? "
read NAME
PID=`ps -Af | grep "$USER" | grep "$NAME" | grep -v grep | tr -s ' ' | cut -f 3 -d ' '`
if [ -z $PID ]
then
echo Pas de processus $NAME...
exit -1
fi
kill $PID
Article publié le 01 Mars 2010 Mise à jour le Mardi, 10 Août 2021 23:18 par GC Team