Exercice Unix: Script shell – processus

[tab name=’Exercice Unix’]

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.

[/tab][tab name=’Correction’]

#!/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

 

[/tab][end_tabset skin= »ginger » ]

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *