Sylvain Sauvage wrote:
[...]
while true ; do
if [ ! `ps ax | grep $prog | grep -v "grep $prog"` ]; then
$prog
fi
sleep 10
done
Juste histoire de pinailler : il vaut mieux mettre $(...) que `...`
parce que ça permet d'en
mettre plusieurs les uns dans les autres et en plus le `...` est
"deprecated" (faut plus s'en
servir).
Ensuite, si on fait un grep sur un ps, on retrouve le grep dans le ps
(apparemment pas à
tous les coups mais dans tous les cas c'est plus ou moins gênant) et
pour le retirer, un simple :
"grep -v grep" suffit. Je ne vois pas pourquoi compliquer la chose (à
moins que $prog ne
contienne grep dans son nom).
Par contre, j'ai vu passer des messages avec des codes bien plus beaux,
j'ai appris des trucs
(et pourtant coder en bash, j'aime ça ;) mais je voulais apporter cette
petite précision.
Sinon, ma référence en matière de programmation shell (à condition
d'avoir quelques
notions), c'est... man bash !
Régis.