Procesos en C - Linux

-

Un proceso padre tiene que generar dos procesos hijos.

El padre tiene que leer los datos de stdin ( por teclado) y tiene que enviarlos a los hijos.

El hijo 1: -Sacará por pantalla el texto leído del padre, a la salida estándar.
El hijo 2: -Sacará lo leído a un fichero.

Cuando el padre reciba “exit” como entrada, enviará señales de terminación a los hijos y se cerrará.

spoiler

Esta es la idea inicial del ejercicio. Falta todavía organizar un poco el código ( es de 3º de Ing. Informática XD )...

Cualquier idea vuestra será bien recibida =)

P.D: Iré editando el código a medida que vaya avanzando.

Un saludo y gracias :D

Thanat0s

Buenas, ¿el enunciado no te dice que uses pipes? porque tiene toda la pinta y sería la forma más correcta de hacerlo.

pd: una vez digas si tienes que usar pipes o no te pasteo un código que te puede servir u otro :P

-

Umm... Me había fijado en fork() en vez de en pipe()... Sí... Puedo utilizar pipe()... No tenía en mente en un principio usarlo pero ahora que lo mencionas voy a echarle un vistazo.

P.D: Pastea el código y lo comparo con lo que tengo en los apuntes para comprenderlo. Gracias Thanat0s :P

Thanat0s

El fork() lo tienes que seguir usando, pero el pipe además es la forma en que se comunican los procesos entre sí (ya que te dice que el padre lee y los hijos hacen cada uno una cosa diferente).

Te pasteo un programa resumen que me hice para aprobar una asignatura de linux en septiembre:

spoiler
1
-

Madre qué crack XDDD

Gracias, voy a echarle un vistazo =)

Hanzou

te pongo uno que hice en clase no hace mucho, hay una pipe, 2 fork's y signals, espero que te sirva ya diras algo

spoiler

Usuarios habituales

  • Hanzou
  • -Willyam-
  • Thanat0s