Exercice avec plusieurs fonctions actives dans un script bash
Bonjour 8-)
J'ai un bout de code qui peut exécuter jusqu'a 3 fonctions, tout dépend du résultat que donne chacune d'elle.
Code:
1 2 3 4 5 6 7 8 9
|
fonction_1(){
echo -e "On appelle la fonction_2"
fonction_2
echo -e "on continue le code de la fonction 1 une fois que la fonction 2 a été lancé"
...code a exécuter tant que le fichier test.txt est vide...
until test -s /var/www/test.txt; do
sleep 60;
done |
Dans la fonction 2 j'ai ceci:
Code:
1 2 3 4 5 6 7
| xterm -hold -bg '#codecouleur' -fg '#codecouleur' -e watch -n $xseconde ps -ef > output.txt &> /dev/null &
sleep 5;
if grep -q "apache2" "output.txt" ; then
echo -e "\t\e[1;32m [+] apache est déja lancé"
else
echo -e "\e[1;31m [!] apache n'est pas lancé, lancement en court\e[0m"
fonction_3 |
Code:
1 2 3 4 5
| fonction_3
echo -e "Lancement et configuration de apache"
xterm commande 1
xterm commande 2
etc... |
La fonction 2 doit s'exécuter toute les x secondes et appeler la fonction 3 au besoin.
J'ai 2 problème, le premier c'est que si la fonction 3 se lance je dois pouvoir revenir a la fonction 2 qui effectue le test toute les x secondes pour re tester la variable dans le output.txt.
Le second c'est nettoyer les xterm de la fonction 3 avant de revenir dans la fonction 2 qui re-teste la variable dans le output.txt
Le tout sans interrompre ou géner la fonction 1 qui test le fichier test.txt en boucle (c'est d'ailleurs pour ça que j'ai penser a xterm)
Ce n'est pas dans un cadre professionnel mais plus pour m'entrainer a gérer plusieurs process avec bash ^^
Comment faire ça proprement ? :)