Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/06/2008, 11h48   #1
Nouveau Membre du Club
 
Inscription : juillet 2005
Messages : 126
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 126
Points : 33
Points : 33
Par défaut Attendre la fin de plusieurs processus "fils" pour continuer le "père"

Bonjour à tous,

je travaille sur AIX 5.3

je cherche un moyen de bloquer un processus père tant que tous ses fils ne sont pas terminés.

je lance le process PERE.sh dans lequel sont lancés successivement plusieurs process "fils", disons 4 process (le but étant de faire du parralélisme)

exple :

blablabla...

Code :
1
2
3
4
5
FILS_1.sh &
FILS_2.sh &
FILS_3.sh &
FILS_4.sh
blablabla...
fin du shell "père"

--> j'avais pensé utiliser la commande WAIT.

le pb c'est que si je fais :

Code :
1
2
3
4
5
6
7
8
9
FILS_1.sh &
wait
FILS_2.sh &
wait
FILS_3.sh &
wait
FILS_4.sh
wait
le process père attendra que le 1er fils soit terminé, pour lancer le 2ème, etc...et du coup y'a plus de parralélisme !!

1ère question : est-ce que ceci fonctionne ?
Code :
1
2
3
4
5
6
7
8
9
FILS_1.sh &
FILS_2.sh &
FILS_3.sh &
FILS_4.sh
wait
wait
wait
wait
ou peut-être va t-il faire seulement le 1er wait et à attendre la fin d'un des 4 processus pour passer au 2ème wait??

2ème question : comment utilise t-on la commande "ps" avec un grep pour récupérer le pid de chaque process ?

merci bcp pour votre aide, je suis vraiment bloquée là :'(
Cathy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 12h57   #2
Nouveau Membre du Club
 
Inscription : juillet 2005
Messages : 126
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 126
Points : 33
Points : 33
Apparemment, ça fonctionne avec :
Code :
1
2
3
4
5
6
FILS_1.sh &
FILS_2.sh &
FILS_3.sh &
FILS_4.sh &
wait
Cathy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 16h29   #3
Responsable ASP.NET

 
Avatar de Jean-Michel Ormes
 
Homme Jean-Michel Ormes
Développeur .NET
Inscription : juillet 2007
Messages : 1 503
Détails du profil
Informations personnelles :
Nom : Homme Jean-Michel Ormes
Âge : 28
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Développeur .NET
Secteur : Services à domicile

Informations forums :
Inscription : juillet 2007
Messages : 1 503
Points : 2 782
Points : 2 782
Citation:
Envoyé par Cathy Voir le message
2ème question : comment utilise t-on la commande "ps" avec un grep pour récupérer le pid de chaque process ?
essaye :

Code :
ps aux | grep (numero de pid)
Jean-Michel Ormes est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h12.


 
 
 
 
Partenaires

Hébergement Web