Unix - URGENTE - Solo para expertos

 
Vista:

URGENTE - Solo para expertos

Publicado por Juan José (1 intervención) el 22/06/2001 22:50:18
Tengo que entregar un Trabajo práctico en la facultad y el hdp del profe me tiró las siguientes lineas de comandos que supuestamente son de un shell de Unix.

#include <sys/wait.h>
#define NULL 0
int status;

int main (void) {
if (fork() == 0) {
execve("prog1",NULL,NULL);
exit (0);
}
waitpid(-1, &status,NULL)
execve("prog2",NULL,NULL);
exit(0);
}

Este tipo quiere saber que pasa si prog2 no se encuentra en el directorio acutal o en \bin y que pasaróia si saco esa linea de comandos, además quiere que le diga que hace cada linea.

Les agradezco desde ya y aguardo ansioso.

Juan José
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:URGENTE - Solo para expertos

Publicado por El pollito (1 intervención) el 23/07/2001 06:15:55
Estas lines no son de ningun shell. Esto es lenguaje C.

El programa hace lo siguiente: Se bifurca y se crea un proceso identico exactamente al original. El proceso hijo ejecuta el programa 1 y el padre ejecuta el programa2. Si el programa no se encuentra, el proceso hijo queda como zombie, y ejecuta el programa1. El proceso padre muere debido al fallo. Si se la quitas no pasa nada. El proceso padre simplemente espera a que el hijo termine.

Atte. El pollito
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