Mise en parralele de deux programmes

Résolu/Fermé
archi12 Messages postés 26 Date d'inscription lundi 13 février 2006 Statut Membre Dernière intervention 26 mai 2016 - 1 janv. 2013 à 18:48
archi12 Messages postés 26 Date d'inscription lundi 13 février 2006 Statut Membre Dernière intervention 26 mai 2016 - 2 janv. 2013 à 16:34
Bonjour,

Un prog A, écrit en C, doit, dans certaine condition lancer un autre programme B, puis continuer normalement.
J'utilise
system("chemin d'acces/B");
tout se passe bien, B est demarré, mais A est mis en attente jusqu'à la fin de B, ce que je voudrais pas (en plus B peut contenir un sleep() !).
j'ai essayé avec
system("chemin d'acces/B&");
sans plus de chance
une solution ?
merci de votre aide

A voir également:

2 réponses

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
1 janv. 2013 à 19:06
Plutôt que system, il faudrait regarder la famille des exec :
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/execl.3.html

Et pour faire l'exécution en parallèle, un petit fork sous Linux :
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man2/fork.2.html

if (fork()==0)
    execve(fichier,argv,envp);
0
archi12 Messages postés 26 Date d'inscription lundi 13 février 2006 Statut Membre Dernière intervention 26 mai 2016
2 janv. 2013 à 16:34
merci KX,
mise en parallele par fork, sans wait dans le parent.
je vais surveiller les pid ...
merci encore
0