Estoy intentando un programa con fork y execlp donde el espacio de direcciones principal se reemplaza con el comando "ls".Fork y Execlp
#include<stdio.h>
main()
{
int pid,j=10,fd;
pid=fork();
if(pid==0)
{
printf("\nI am the child\n");
execlp("/bin/ls","ls",NULL);
printf("\nStill I am the child\n");
}
else if (pid > 0)
{
printf("\n I am the parent\n");
wait();
}
}
Cuando ejecuto el programa de la última línea del niño
printf("\nStill I am the child\n");
no se imprime. ¿Por qué?
Varios puntos buenos, pero el pid es definitivamente diferente en el nuevo proceso. Además, el ejecutivo solo reemplaza el proceso si tiene éxito, de lo contrario continuará después de la llamada del ejecutivo – techdude