Rendre linux “Attente de commande” attendre que TOUS les processus enfants

D'attente n'est pas en attente de tous les processus enfants d'arrêter. C'est mon script:

#!/bin/bash

titlename=`echo "$@"|sed 's/\..\{3\}$//'`
screen -X title "$titlename"

/usr/lib/process.bash -verbose $@

wait

bash -c "mail.bash $@"
screen -X title "$titlename.Done"

Je n'ai pas accès à /usr/lib/processus.bash, mais c'est un script qui change souvent, donc je voudrais référence... mais dans le script:

#!/bin/ksh
#lots of random stuff
/usr/lib/runall $path $auto $params > /dev/null 2>&1&

Mon problème est que runall crée un fichier journal... et mail.bash est supposer pour moi un mail ce fichier journal, mais l'attente n'est pas en attente pour runall pour finir, il semble être la seule à être en attente pour processus.bash à la fin. Est-il de toute façon, sans accès à processus.bash, ou en essayant de garder mon propre version à jour de processus.bash, pour rendre l'attente correctement attendre runall à la fin? (Le fichier journal remplace la précédente courir, je ne peux donc pas seulement de vérifier la présence du fichier journal, car il est toujours là)

Grâce,
Dan

Pouvez-vous nous fournir les éléments pertinents de ps -ef après wait a fini? Qui devrait montrer que les processus en cours d'exécution et le processus qui est un enfant dont les autres processus...
Mon script et Processus.bash fin presque instantanément. Le seul processus est runall, qui s'exécute sous aléatoires PID.

OriginalL'auteur Dan | 2010-02-18