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

18186

Jue Dic 02, 2010 1:46 am

akodo Ver último mensaje

crear procesos con fork

en Programación

skylark

5

1966

Jue Nov 11, 2010 1:51 am

akodo Ver último mensaje

Creación de procesos

en Programación

luis__cap

6

1048

Mar Ene 25, 2011 11:20 pm

akodo Ver último mensaje

Funcion FORK()

en Noticias y Actualidad

Samsaveel

0

499

Jue Feb 09, 2017 2:24 am

Samsaveel Ver último mensaje

Fork de ubuntu

en Instalación de distribuciones

hall9000xzxz

9

1208

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 0 invitados

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

cron
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