Ceci est probablement la manière la plus facile de faire ce que vous voulez.
#!/usr/bin/env bash
# Définir le programme à surveiller.
program_to_watch=soffice.bin
mes_commandes() {
echo "C'est ici que va votre première commande."
echo "C'est ici que va votre deuxième commande."
}
clear
echo "Script d'attente du programme"
echo "Auteur : Kris Beazley"
echo "Licence Apache 2.0"
echo ""
echo "$(date) : En attente du démarrage de $program_to_watch."
while true
do
sleep 1
if [[ $(ps -A | grep $program_to_watch) && -z $var ]]
then
var=true
echo "$(date) : $program_to_watch démarré."
echo "$(date) : Demande à \"mes_commandes\" de commencer, et retourne dormir."
echo "$(date) : $(mes_commandes)"
fi
if [[ ! $(ps -A | grep $program_to_watch) && -n $var ]]
then
unset var
echo "$(date) : $program_to_watch fermé."
echo "$(date) : Retour au sommeil."
fi
done
Il suffit de copier cela dans un fichier texte et de le rendre exécutable, mais assurez-vous que la ligne #!/usr/bin/env bash n'a pas de lignes vides devant.
Pour le rendre exécutable, tapez :
chmod +x myscript.sh