Aide script / compter le nombre de process
Bonjour,
J'ai un petit soucis avec un script shell que voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #!/bin/bash
nb_occurence=`ps -edf | grep $1 | grep -v "grep" | wc -l`
if [ $nb_occurence -eq 0 ]
then
echo "CRITICAL : process $1 not running"
exit 2
else
if [ $nb_occurence -eq 1 ]
then
echo "OK : process $1 running"
fi
if [ $nb_occurence -gt 1 ]
then
echo "WARNING : plusieurs process $1 running"
exit 1
fi
fi |
Je souhaite vérifier le nombre de process qui tourne sur ma machine. Le process est placé en argument quand j'appelle le script.
Si j'exécute la commande sans le script, voila ce que cela donne :
# ps -edf | grep httpd | grep -v "grep" | wc -l
10
Si j'exécute mon script en debug, voici ce que j'obtiens :
Code:
1 2 3 4 5 6 7 8 9
| # bash -x check_process.sh httpd
++ ps -edf
++ grep httpd
++ grep -v grep
++ wc -l
+ nb_occurence=13
+ '[' 13 -eq 0 ']'
+ '[' 13 -eq 1 ']'
+ '[' 13 -gt 1 ']' |
+ echo 'WARNING : plusieurs process httpd running'
WARNING : plusieurs process httpd running
+ exit 1[/CODE]
Au lieu de compter 10 occurrences, mon script en compte 13.
Si quelqu'un a une idée pour corriger cela ?
Merci d'avance.