He estado haciendolo de nuevo y tengo esto, pero no me funciona y no se porque. Me sale un bucle infinito, si me podeis ayudar estaría muy agradecido:
Código [Seleccionar]
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <signal.h>
void proceso1(){
printf("Proceso1");
}
void proceso2 (){
printf("Proceso2");
}
int main(){
pid_t hijo1;
pid_t hijo2;
char datos_leidos[40]="";
printf("Introduce una cadena de texto: ");
scanf("%s",datos_leidos);
while(strcmp(datos_leidos,"exit")!=0){
hijo1=fork();
if(hijo1==0)
proceso1();
else
{
hijo2=fork();
if(hijo2==0)
proceso2();
else{
printf("Introduce una cadena de texto: ");
scanf("%s",datos_leidos);
}
}
}
kill(hijo1,SIGKILL);
kill(hijo2,SIGKILL);
return 0;
}