Linux/Unix Shell Scripting - read & write.

 
Vista:

read & write.

Publicado por Pájaro Unix (1 intervención) el 23/05/2006 13:01:22
Hola!

Me han propuesto esta actividad y no tnego ni idea de por donce cogerla!

Por un lado me dicen, sin utilizar funciones de c ni de entradra ni salida, sólo utilizando llamadas al sistema (read & write), tambien usando funciones de c para el formateo de cadenas (sprintf, sscanf,...) y sin utilizar la función sleep (pero sí pause) hacer:

Una aplicación que cifre mediante 3 procesos : un proceso padre (proceso cifrador) y dos procesos hijos (por transposición y substitución).

Me piden que para crear el esquema de comunicación utilice pipes(redirigidos a las entradas estandard). Me dicen que cada proceso involucrado tendrá su propio ejexutable, por lo que se debrá utilizar el exec.

La funcionalidad es la siguiente: El proceso padre lee el texto desde un fichero de origen y escribe el texto cifrado en un fichero de salida (siempre los fichero serán de tipo texto).
Entonces el padre creará lo dos procesos hijos que ejecutarán los programas de cifrado correspondientes. Primero padre creará los procesos, luego le pasarà el texto al primer hijo, que lo cifrará de una manera, y este al segundo hijo que volverá a cifrarlo, este segundo se lo devolverá al padre que lo pasara al fichero de salida.

Cuando cada proceso hijo acabe su tarea enviarán una confirmación de finalización y el padre al recibir sendas confirmaciones cerrará los procesos hijos con la señál SIGTERM.

EL proceso de cifrado no me supone un problema, es pseudocodigo sencillo, el problema está entre la comunicación de procesos, alguien me puede orientar/ayudar??

GRACIAS A TODOS!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:read & write.

Publicado por n0str0m0 (180 intervenciones) el 23/05/2006 15:54:57
Puedes utilizar un pipe.

busca información sobre pipe y popen

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar