Boa tarde. Preciso de ajuda ao criar esse programa de processo pai e filho.

1. Boa tarde. Preciso de ajuda ao criar esse programa de processo pai e filho.

Matheus da Silva
MMRH97

(usa Debian)

Enviado em 18/11/2016 - 15:56h

DÚVIDA: Boa tarde. Estou querendo fazer um programa que ao receber um número qualquer ele execute o processo pai recebendo número randômicos de 0 à 100.000, feito isso ele inicie 3 processos filhos e o primeiro que encontrar o número mostre ou diga que foi ele e mate o restante dos processos utilizando pipe(fd)


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

int fd[2];
char frase[50];

void mensagem (char filho[6], int numero){
int i;
char msg[50];
write (fd[1], filho, 7); /*escreve para o pai */
}

void main(int argc, char *argv[])
{
int num, qual, R;
printf("Digite um numero que sera encontrado: ");
scanf("%d", &num);

R = rand()%10000;

pipe(fd);
int i, a, b;
printf("MSG: Processo pai - PID %d, \n", getpid());
if (fork() == 0){ /* Filho */
printf("MSG: Criando o filho 1 PID %d, \n", getpid());
mensagem("Filho 1", i);
for(i = 0; i<10000; i++)
R = rand()%10000;
if(num == R)
printf("Filho 1 encontrou %d, \n", num);


if (fork() == 0){ /* Filho */
printf("MSG: Criando o filho 2 PID %d, \n", getpid());
mensagem("Filho 2", a);
for(a = 0; a<10000; a++)
R = rand()%10000;
if(num == R)
printf("Filho 2 encontrou %d, \n", num);


if (fork() == 0){ /* Filho */
printf("MSG: Criando o filho 3 PID %d, \n", getpid());
mensagem("Filho 3", b);
for(b = 0; b<10000; b++)
R = rand()%10000;
if(num == R)
printf("Filho 3 encontrou %d, \n", num);

}
}
}
}
/*else{
read(fd[0], frase, 50); /*Lê o filho */
// printf("MSG: %s acho o número %d, \n", frase, i);
//}


  


2. Re: Boa tarde. Preciso de ajuda ao criar esse programa de processo pai e filho.

Paulo
paulo1205

(usa Ubuntu)

Enviado em 18/11/2016 - 17:07h

Você parece estar tratando do mesmo assunto que o tópico https://www.vivaolinux.com.br/topico/C-C++/Criacao-fork-para-encontrar-numero-rand. Talvez seja melhor unir os dois numa coisa só.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts