J'écris un script, mais il y a quelque chose dont j'ai besoin et que je ne trouve pas de moyen de le faire ...
J'ai besoin de faire une commande en arrière-plan "command1 &" puis quelque part dans le script, je dois attendre qu'elle se termine avant de faire command2. Fondamentalement, j'ai besoin de ceci:
REMARQUE: chaque commande s'exécute dans un répertoire spécifique! à la fin de la boucle while, ma commande1 a créé 4 répertoires, dans lesquels chacun exécute le processus spécifique, de sorte que le total des processus en cours est de 4
a=1
while [$a -lt 4 ]
. command1
#Generates 1 Process
a= `export $a +1`
done
#Wait until the 4 process end and then run the command2
. command2
J'ai vu quelque chose sur une wait
commande avec le numéro de processus pid, mais cela n'a pas fonctionné également.
$!
variable pour l'obtenir, en la passant à la wait
commande comme je l'ai montré ici. $!
contient le dernier PID en arrière-plan, tandis que $$
contient le dernier PID de l'exécution du processus.
command1
? Pouvez-vous le modifier pour qu'il renvoie les PID des 4 processus?