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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda para programar Arbol de Procesos en C - OS Linux
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda para programar Arbol de Procesos en C - OS Linux  (Leído 2,175 veces)
donself

Desconectado Desconectado

Mensajes: 1


Ver Perfil
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


« Última modificación: 20 Mayo 2016, 18:53 pm por donself » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[DUDA] For para matar procesos
Scripting
FranciskoAsdf 7 4,792 Último mensaje 23 Enero 2009, 00:20 am
por FranciskoAsdf
Duda con comando para analizar procesos
Programación Visual Basic
.:UND3R:. 3 2,563 Último mensaje 11 Junio 2011, 07:42 am
por BlackZeroX
Libro para aprender a programar procesos en linux?
Programación C/C++
goditozor 5 5,532 Último mensaje 1 Julio 2011, 11:50 am
por Foxy Rider
Creación de un árbol de procesos en linux
GNU/Linux
jeanksky 0 2,552 Último mensaje 8 Abril 2013, 17:41 pm
por jeanksky
Duda con C++ y procesos en linux.
Programación C/C++
SARGE553413 2 2,220 Último mensaje 24 Enero 2014, 23:04 pm
por SARGE553413
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines