Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1290 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Programme se lançant lui même n fois !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Programme se lançant lui même n fois !

n°1928696
amaowned
amaowned is amazing
Posté le 03-10-2009 à 17:33:31  profilanswer
 

Bonjour,
 
Je voudrai faire un programme qui se lance lui même grâce à la fonction exec !
 
Je n'arrive qu'à le faire de façon indéterminé c'est à dire le programme ne cesse de s'appeler lui même !  
 
int main(int argc, char*argv[]) {
        int i = 1;
 printf("%d \n",i); // affiche i
 
 execl("bin/test","test",NULL);
 perror ("execl" );
 }
 return EXIT_SUCCESS;
}
 
 
moi je voudrai qu'il s'arrête au bout de n fois et donc qu'il affiche la valeur de i n fois
 
Comment faire ?
 
Merci !
 
 

mood
Publicité
Posté le 03-10-2009 à 17:33:31  profilanswer
 

n°1928698
Joel F
Real men use unique_ptr
Posté le 03-10-2009 à 18:05:38  profilanswer
 

fork()

n°1928715
amaowned
amaowned is amazing
Posté le 03-10-2009 à 22:18:21  profilanswer
 

j'y est pensé !
j'y réfléchi en ce moment !

n°1928718
amaowned
amaowned is amazing
Posté le 03-10-2009 à 22:26:01  profilanswer
 

en fin de compte je ne voie pas la solution !

n°1928726
ravenX11
Coding is living
Posté le 04-10-2009 à 01:12:18  profilanswer
 

fork() c'est le mieux.
 
Sinon solution simple:
Tu concatenes un nombre qui est le nombre de sous-execution restantes, et tu le decrementes a chaque appel.
 
tu lances:
exec("/bin/test " ++++(strcat ou snprintf) ++++ "5" );
qui lance:
exec("/bin/test " ++++(strcat ou snprintf) ++++ "4" );
qui lui-meme lance:
exec("/bin/test " ++++(strcat ou snprintf) ++++ "3" );
qui lui-meme lance:
exec("/bin/test " ++++(strcat ou snprintf) ++++ "2" );
qui lui-meme lance:
exec("/bin/test " ++++(strcat ou snprintf) ++++ "1" );
qui lui-meme lance:
exec("/bin/test " ++++(strcat ou snprintf) ++++ "0" );

n°1928866
Elmoricq
Modérateur
Posté le 04-10-2009 à 23:40:17  profilanswer
 

amaowned a écrit :

j'y est pensé !
j'y réfléchi en ce moment !

 
amaowned a écrit :

en fin de compte je ne voie pas la solution !


Tu as donc éliminé fork() de ton horizon de solutions. Est-il possible d'en connaître la raison ?

 
ravenX11 a écrit :

Sinon solution simple:
Tu concatenes un nombre qui est le nombre de sous-execution restantes, et tu le decrementes a chaque appel.

 

Urgh.


Message édité par Elmoricq le 04-10-2009 à 23:40:41
n°1928898
antac
..
Posté le 05-10-2009 à 09:25:43  profilanswer
 

Surtout que c'est le but d'un fork

n°1930030
amaowned
amaowned is amazing
Posté le 08-10-2009 à 00:07:30  profilanswer
 

bon j'ai réussi ( depuis fort long temps)! Je suis passé par les arguments de la fonction main pour y arriver !  
 
Honnêtement je ne vois pas comment je pourrai faire avec fork () ! Si dans le fork() je lui dit d'exécuter le même programme il va me recréer un autre fork qui va lui exécuter le même programme et ainsi de suite ...

n°1930032
bjone
Insert booze to continue
Posté le 08-10-2009 à 01:44:11  profilanswer
 

avec le fork() tu peux savoir si tu est dans le père ou le fils, il suffit de faire tes multiples fork() que si tu est toujours dans le père.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Programme se lançant lui même n fois !

 

Sujets relatifs
[vba excel debutant] creer 1 programme en boucleLister catégories une seule fois
[RESOLU]Debutant en C++, petite question a propos d'un programmeproblème pour écrire un programme
Flash Action Script 3 | Lire une vidéo 1 seule foisBesoin d'un programme pour me faciliter la vie SVP LES PROS
Adapter un programme windows sous linux[C#]Cherche idée de programme, sondage
Erreur dans un programmeAppel AJAX qui s'effectue trop de fois (event JS)
Plus de sujets relatifs à : Programme se lançant lui même n fois !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR