Je veux écrire dans un script bash un morceau de code qui vérifie si un programme est déjà en cours d'exécution. J'ai ce qui suit pour rechercher si bar est en cours d'exécution
foo=`ps -ef | grep bar | grep -v grep`
Le
grep -v grep
partie est pour s'assurer que le "grep bar" n'est pas pris en compte dans les résultats de ps
Lorsque bar n'est pas en cours d'exécution, foo est correctement vide. Mais mon problème réside dans le fait que le script a
set -e
qui est un indicateur pour terminer le script si une commande renvoie une erreur. Il s'avère que lorsque bar n'est pas en cours d'exécution, "grep -v grep" ne correspond à rien et grep renvoie une erreur. J'ai essayé d'utiliser -q ou -s mais sans succès.
Existe-t-il une solution à cela? Merci