Ir ao conteúdo
  • Cadastre-se
pfpietro

N filhos que executam N files. alguem me da uma luz ?

Recommended Posts

queria enteder de uma vez por todas como funcionam certas coisas no C:

eu tenho que fazer um programa que recebe na linha de comando assim:

nome_do_prog NUMERO file1 file2 ... fileN

-o NUMERO sera' o numero de filhos que deverao ser criados e executarao os N primeiros files da linha de comando.

Eu cheguei a fazer a primeira parte que é pegar do argv[] os seus valores e colocar dentro de variaveis pra poder chamar uma funcao denominada paralelo(int num; char executable[255]) onde serao executados os N files.

-Vamos ao que interessa:


int main(int argc, char** argv)
{
int j, x, m, n, cont;
int k;
char* comandi[255] = {NULL};


k=atoi(argv[1]);

printf("K vale %d\n", k);

for(cont=0;cont<k+1;cont++)
{
comandi[cont]=strdup(argv[cont+1]);
printf("copiado o file para execucao em paralelo: %s\n ", comandi[cont]);
}
x=paralelo(k, comandi[255]);

essa primeira parte coloca o valor de argv[1] em k e nome dos files em um vetor chamado comandi[]

Com esses 2 vetores eu chamo uma funcao chamada paralelo(k, comandi[255]) :


int paralelo(int num, char executable[255])
{
int i,pid,status, morte;
char files[255];

printf("Serao criados %d filhos em paralelo\n", num);
for(i=0;i<num;i++)
{
pid=fork();
if(pid==0)
{
printf("%s\n", files[i]);

execl("????"); // AQUI: como faço para que o filho execute o programa que tem o nome armazenado em executable[] ???
exit(0);
}
if(pid!=0)
{
morte=wait(&status);
printf("E morto il figlio %d\n", morte);
}
}
return(0);
}

preciso de achar um modo para que cada filho no ciclo for execute o arquivo que foi passado a executable[255]

alguem me da uma luz ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×