C/Visual C - Duda con redirección en c

 
Vista:
sin imagen de perfil
Val: 31
Ha disminuido 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Duda con redirección en c

Publicado por Ángel (19 intervenciones) el 30/08/2017 20:46:31
Hola buenas tenia una duda sobre redirección en c cuando tienes procesos:

ejercicio61
---------------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h> /* for strerror(int errno) */

main(){

printf("Mensaje1");
write(1,"Mensaje2\n",10);

if (fork()){

printf("Mensaje3\n");
execl("ejercicio62","ejercicio62",NULL);
printf("Mensaje4");
}

sleep(5);
printf("Mensaje5");
}
------------------------------
ejercicio62
---------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h> /* for strerror(int errno) */

main(){
printf("Mensaje6");

}
---------------------------
Al ejecutar este código me sale esto por pantalla:

Mensaje2
Mensaje1Mensaje3
Mensaje6Mensaje1Mensaje5

Sin embargo si redirecciono sobre un fichero esto:

Mensaje2
Mensaje6Mensaje1Mensaje5


Me gustaria saber lo que pasa al redireccionar si tienes procesos, por que la salida es asi?
Saludos.
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
Imágen de perfil de SuperIndio(SoydeSalta)

Duda con redirección en c

Publicado por SuperIndio(SoydeSalta) (21 intervenciones) el 30/08/2017 22:05:36
No man... intentar interpretar una salida por console
no vas a llegar a una buena conclusion... o no vas a entender lo que pasa por dentro
porque lo que sale a console (telnet) esto esta detras de una cola
no se que es lo que queres hacer, el fork crea un proceso hijo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Padre
   |
   |
   |
   +fork()
  / \
  | |
  | |hijo
  |
  |padre
  |
  + fork()
 / \
 | |
 | |hijo
 |
 |padre

Ahi abajo te deje un ejemplo

http://www.lawebdelprogramador.com/foros/C-Visual-C/1619444-Duda-con-fork.html
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

Duda con redirección en c

Publicado por Tom (602 intervenciones) el 30/08/2017 22:37:51
Lo primero es que no debes mezclar write() y printf() sobre el mismo fichero.
Usa una o la otra, y prueba de nuevo, tu salida seguiría siendo aleatoria hasta cierto punto, pero más coherente.
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