hello tout le monde.
mon probleme: lancer en parallele (avec l'utilisation de processus fils ) 4commandes à la fois. ces commandes etant inscrites dans un fichier texte.

au debut mon idée etait de :
1.faire une lecture du fichier
2.recuperer chaque ligne dans un tableau tampon et utiliser la fonction execv()
quelqu'un aurait il une idée plus simple.

voici mon 'code'

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <sys/types.h> 
#include <sys/stat.h> 
#include <fcntl.h> 
#include <unistd.h> 
#include <stdlib.h> 
#include <stdio.h> 
#define BUFFSIZE 4096
 
#define LINE_LIMIT 512
#define PROCESS_LIMIT 4
#define PARAMETER_LIMIT 10
#define COMMAND_LIMIT 100
main()
{
 char tampon1[LINE_LIMIT];
 char tampon2[LINE_LIMIT];
 char tampon3[LINE_LIMIT];
 char tampon4[LINE_LIMIT];
 char tampon5[LINE_LIMIT];
 char tampon6[LINE_LIMIT];
 char tampon7[LINE_LIMIT];
 char tampon8[LINE_LIMIT];
 char tampon9[LINE_LIMIT];
 char tampon10[LINE_LIMIT];
 char tampon11[LINE_LIMIT];
 char tampon12[LINE_LIMIT];
 char tampon13[LINE_LIMIT];
 char tampon14[LINE_LIMIT];
 char tampon15[LINE_LIMIT];
 
 int filedes,nbline=0,nb_charlu,i;
 char BUFF[BUFFSIZE];
 
/*On va ouvrir le fichier qui contient noos processus*/
	filedes = open("/home/Documents/Programation/monfic.txt",O_RDONLY,0);
 
 
/*Nous allons à present chercher le nombre de lignes dans notre fichier texte equivalant alors au nombre de commandes à executer*/
while((nb_charlu=(read(filedes,BUFF,BUFFSIZE)))>0)/*Le 0 pour dire tant qu'on est pas à la fin du fichier on continue la lecture*/
       {
 
	for(i=0;i<=nb_charlu;i++)
		{
 
                  if(BUFF[i]=='\n')
		      {	
 
                       nbline = nbline + 1;
 
		      }		
		}
 
       }
 
/* On teste si le fichier respecte bien la constante COMMAND_LIMIT = 100*/
	if(nbline > COMMAND_LIMIT)
			{
				printf("ATTENTION trop de commandes dans ce fichier!!!!!\n");
			}
	else
 
				printf("Fichier OK et %d à executer dans le fichier\n",nbline);
 
/*ESSAYons a present de mettre chaque commande à executer dans un tableau commande_i_[]*/ ?????????????????????????????????????????????????????
while((nb_charlu=(read(filedes,BUFF,BUFFSIZE)))>0)/*Le 0 pour dire tant qu'on est pas à la fin du fichier on continue la lecture*/
       {