elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Duda para programar Arbol de Procesos en C - OS Linux en: 20 Mayo 2016, 18:49 pm
Hola amigos.

Estoy realizando un proyecto sobre procesos en Unix, usando el lenguaje C.
EL proyecto consiste en representar un arbol de procesos usando las funciones fork(), wait(), exit().

La salida de mi programa me debe quedar:

1. Father:Pid1 - Hello
2. Children1:Pid2 - Hello
3. GrandChildren1.1:Pid3 – Hello and Goodbye
3. GrandChildren1.2:Pid4 – Hello and Goodbye
4. Children1:Pid2 - Goodbye
6. Children2:Pid6 - Hello
7. GrandChildren2.1:Pid7 – Hello and Goodbye
8. Children2:Pid6 - Goodbye
9.  Father:Pid1 - Goodbye

 este es el arbol:

https://www.solidfiles.com/v/n5QWvzwKdvw5M

Esta salida la entiendo.
He programado el siguiente codigo para los inicios de los procesos, pero no se como hacer que terminen los procesos, siempre se me riegan:

Código:
main() {

    if(fork())
    {
        // 1
        printf("1. Father:Pid1 - Hello\n");
        if(fork())
        {
            // 2
            printf("2. Children1:Pid2 - Hello\n");
            if(fork())
            {
                // 4
                printf("3. GrandChildren1.1:Pid3 - Hello and GoodBye\n");
            }
            else{}

            wait(1);

            if (fork())
            {
                 printf("3. GrandChildren1.2:Pid4 - Hello and GoodBye\n");
            }
            else {}
        }
        else
        {
            printf("4. Children1:Pid2 - GoodBye\n");
        }
    }
    else{
        if(fork())
        {
            // 3}
            printf("6. Children2:Pid6 - Hello\n");
            if (fork())
            {
                printf("6. GrandChildren2.1:Pid7 - Hello and GoodBye\n");
            }
            else{}
    }
    else{}
    }

    pause();
    return 0;
}

Por ejemplo, no se como terminar el Pid2 y veo que cuando imprima los 2 nietos, debo hacerlo.

Como podria hacerlo o que debo entender?

saludos  gracias
Donny
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines