Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Portada » Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 6 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Lun Oct 25, 2010 11:09 am
Mensajes: 6

Nota Publicado: Dom Jun 24, 2012 11:50 pm 
Arriba  
Hola buenas noches a todos
Se algo de creación de procesos hijos y padres con fork, pero
al encontrarme con este ejercicio no sé como comenzar,
haber si hay alguien que me pueda ayudar o recomendar como
hacerlo.

Imagen

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Vie Abr 27, 2007 7:00 am
Mensajes: 1905

Nota Publicado: Lun Jun 25, 2012 12:57 am 
Arriba  
chonico escribió:
pero al encontrarme con este ejercicio no sé como comenzar


Indicando el lenguaje de programación.

_________________
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Lun Oct 25, 2010 11:09 am
Mensajes: 6

Nota Publicado: Lun Jun 25, 2012 1:56 am 
Arriba  
hipersayan_x escribió:
chonico escribió:
pero al encontrarme con este ejercicio no sé como comenzar


Indicando el lenguaje de programación.


En C

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Vie Abr 27, 2007 7:00 am
Mensajes: 1905

Nota Publicado: Lun Jun 25, 2012 2:17 am 
Arriba  

_________________
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Lun Oct 25, 2010 11:09 am
Mensajes: 6

Nota Publicado: Mar Jun 26, 2012 10:55 am 
Arriba  
El pseudocodigo quedaria algo parecido a esto, a falta de ponerle los printf:

Código:
pid=fork();  //crea el Padre1
  if(pid != 0)
     fork(); //creo que crea el hijo1 y Padre2
     ??
     for(i=0,i<2,i++) // crea hijo2 y hijo3
        fork();
     finpara;
  sino(pid==0)
  ??
  finsi;


Me faltan lineas donde he puesto los ??...

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Vie Abr 27, 2007 7:00 am
Mensajes: 1905

Nota Publicado: Mar Jun 26, 2012 4:04 pm 
Arriba  
2 detalles a tener en cuenta:

  • fork devuelve 3 valores posibles: -1 (error), 0 (proceso hijo) y 1 (proceso padre).
  • fork crea una copia exacta del programa padre (en el mismo punto donde estaba) y lo trata como hijo.

por lo tanto el código quedaría algo así:

Código:
/* Abuelo */
switch (fork())
{
    case -1:
        /* Código de error */
    break;

    case 0:
        /* Padre 1 */
        switch (fork())
        {
            case -1:
                /* Código de error */
            break;

            case 0:
                /* Código Hijo 1 */
            break;

            default:
                /* Código Padre 1 */
        }
    break;

    default:
        /* Padre 2 */
        switch (fork())
        {
            case -1:
                /* Código de error */
                break;
            case 0:
                /* Código del Hijo 2 */
                break;
            default:
                switch (fork())
                {
                    case -1:
                        /* Código de error */
                        break;
                    case 0:
                        /* Código del Hijo 3 */
                        break;
                    default:
                        /* Código Padre 2 */
                }
        }
}


También puede que haya que agregar un wait después de cada switch(fork()).

_________________
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net

 Perfil WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 6 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


 Temas relacionados   Autor   Respuestas   Vistas   Último mensaje 
Creacion de procesos hijos con fork

en Programación

chonico

6

18204

Jue Dic 02, 2010 1:46 am

akodo Ver último mensaje

crear procesos con fork

en Programación

skylark

5

1980

Jue Nov 11, 2010 1:51 am

akodo Ver último mensaje

Creación de procesos

en Programación

luis__cap

6

1053

Mar Ene 25, 2011 11:20 pm

akodo Ver último mensaje

Funcion FORK()

en Noticias y Actualidad

Samsaveel

0

511

Jue Feb 09, 2017 2:24 am

Samsaveel Ver último mensaje

Fork de ubuntu

en Instalación de distribuciones

hall9000xzxz

9

1217

Vie Mar 02, 2012 11:48 pm

t4rr1t0 Ver último mensaje



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC + 1 hora [ DST ]
Traducción al español por Huan Manwë
phpBB SEO