Comandos de consola en lenguaje C usando fork() y excel()
#includelt;unistd.hgt;
#includelt;fcntl.hgt;
#includelt;stdlib.hgt;
#includelt;stdlib.hgt;
#includelt;errno.hgt;
#includelt;string.hgt;
#includelt ;sys/types.hgt;
#includelt;sys/stat.hgt;
## define BUFFERSIZE 40 define BUFFERSIZE 40
int main()
{
solicitud de carácter, ch;
resto de carácter[BUFFERSIZE];
int pid, estado
printf ("Ingrese el comando:\n");
scanf("c", amp; request
ch = getchar(); > while(solicitud != 'Q')
{
fgets(restantes, tamañode(restantes), stdin);
pid = fork();
if(pid gt; 0)
{
esperar(amp; estado);
printf(" Ingrese el comando:\n");
scanf("c", amp; request);
ch = getchar();
} p>
else if (pid == 0)
{
if (execl("/bin/sh", "sh", "-c", sobrante, (char *)0) == -1)
{
printf("s", strerror(errno));
salir(-1) ;
}
salir(-1);
}
más
salir(-1); ;
}
printf("¡Adiós! \n");
return 0;
}
Utilice el editor vi para escribir código en Linux. Después de compilar y ejecutar la prueba con gcc, Espero que te resulte útil. La programación anterior utiliza principalmente algunos conocimientos de programación de procesos. Te sugiero que eches un vistazo a "Programación avanzada en entorno Unix" (APUE). junto contigo.