Saltar al contenido

Gnu/Linux Vagos usa cookies. Lea nuestra Política de privacidad para más información.    Acepto el uso de cookies

Foto
Ayuda GNU/Linux

Necesito ayuda para un examen sobre comunicación de procesos. Alguien que me eche una mano?

Ayuda GNU/Linux procesos examen ayuda linux

  • Por favor, loguéate para poder responder
1 respuestas en este tema

#1 DESCONECTADO   JulianOrtiz95

JulianOrtiz95

    Recién llegado

  • Registrado: 12/12/2016
  • Mensajes: 1
  • Galletas: 3



Escrito 12 December 2016 - 02:52

Hola, que tal a todos.. Me nombre Alan. Estoy preparando esta previa del colegio, me encuentro necesitando ayuda para poder entender mejor el código y la sintasis ya que no soy programador.. Agradecería muchísimo si alguien me puede echar una mano.. Este es el modelo de examen que me dieron, me dijeron que me iban a tomar algo parecido..

* Desarrolle el tema creación, finalización y muerte de procesos en Linux. (Explique las funciones necesarias para las mismas).
* Realizar un programa que un padre cree un hijo y el hijo cree un nieto, el padre envía vía pipe “Hola mundo” al nieto que lo muestra por pantalla.
* Realizar un programa que funcione como un servidor de archivos del directorio actual, en el puerto 9090.-

O alguna fuente para poder resolver esto también me serviria. Desde ya, muchas gracias..


  • pacoeloyo, portaro y Rohlling les gusta esto

#2 DESCONECTADO   Cristobal

Cristobal

    Miembro

  • Registrado: 03/01/2014
  • Mensajes: 108
  • Galletas: 460

Género:

Escrito 15 December 2016 - 20:26

He visto este post tres dias despues, espero ser de ayuda si aun no has tenido el examen,he leido demasiado rapido xD, si no he entendido mal ¿vas a empezar un curso o alguna asignatura?

Tengo que repasar mis apuntes de Sistemas Operativos, por el momento pongo un ejemplo en c en el que un proceso inicia un hijo que ejecuta un comando y el padre espera a que finalize:

//tarea5.c
//Trabajo con llamadas al sistema del Subsistema de Procesos conforme a POSIX 2.10
 
#include<sys/types.h> 
#include<sys/wait.h>  
#include<unistd.h>
#include<stdio.h>
#include<errno.h>
#include <stdlib.h>
 
 
int main(int argc, char *argv[])
{
pid_t pid;
int estado;
 
//la funcion fork inicia un proceso hijo, si el resultado es menor que cero ha habido un error
if( (pid=fork())<0) {//si es mayor que cero es el pid del hijo
    perror("\nError en el fork");
    exit(-1);
}//si el resultado es 0 es el proceso hijo por lo que ejecutamos el codigo del hijo
else if(pid==0) {  //proceso hijo ejecutando el programa
    if( (execl("/usr/bin/ldd","ldd","./tarea5")<0)) {
        perror("\nError en el execl");
        exit(-1);
    }
}
wait(&estado);
printf("\nMi hijo %d ha finalizado con el estado %d\n",pid,estado);
 
exit(0);
 
}

Te he preparado un enlace a un guion de practicas que habla sobre los cauces (pipes)

https://www.dropbox....-Guion.pdf?dl=0

 

En cuanto al programa que sirve como servidor de ficheros supongo que es un programa que abre un socket en el puerto 9090, recibe una cadena de caracteres con un nombre de fichero, lo abre y mientras lo esta leyendo lo escribe en el socket


Editado por Cristobal, 15 December 2016 - 20:41 .

  • pacoeloyo y Rohlling les gusta esto





También etiquetado con una o más de estas palabras: Ayuda GNU/Linux, procesos, examen, ayuda, linux