42 lines
1.5 KiB
C
42 lines
1.5 KiB
C
|
/*********************************************************/
|
||
|
/* */
|
||
|
/* p_fork_exec : Prototype extremement simplifie d' une */
|
||
|
/* boucle de SHELL : */
|
||
|
/* - Le pere lit une commande a executer (fait) */
|
||
|
/* - Le pere se duplique et attend la fin du fils */
|
||
|
/* - Le pere affiche OK si le fils s'est "bien" fini */
|
||
|
/* (exit avec 0) et KO sinon. */
|
||
|
/* et KO sinon. */
|
||
|
/* - Le fils execute la commande lue par le pere */
|
||
|
/* (avec utilisation de la variable PATH). */
|
||
|
/* */
|
||
|
/*********************************************************/
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
|
||
|
int main ()
|
||
|
|
||
|
{ char *arguments[3];
|
||
|
|
||
|
arguments[0] = (char*) malloc(30);
|
||
|
arguments[1] = (char*) malloc(30);
|
||
|
|
||
|
printf ("\n=============================\n");
|
||
|
printf (" BIENVENUE SOUS p_fork_exec \n");
|
||
|
printf ("=============================\n\n");
|
||
|
|
||
|
printf ("? Nom de la commande a executer : "); scanf ("%s", arguments[0]);
|
||
|
printf ("? Un argument (obligatoire) : "); scanf ("%s", arguments[1]);
|
||
|
|
||
|
arguments[2] = (char*)0;
|
||
|
|
||
|
/**********************/
|
||
|
/* PARTIE A COMPLETER */
|
||
|
/**********************/
|
||
|
|
||
|
printf ("\n==============================\n");
|
||
|
printf (" p_fork_exec: FIN DE SESSION \n");
|
||
|
printf ("==============================\n\n");
|
||
|
}
|