2020-05-01 23:58:52 +02:00

70 lines
2.6 KiB
C
Executable File

///************************************************************/
///* */
///* p_pipe_arg : - Demande de descripteurs de pipe-line, */
///* - Demande de fork, */
///* - PERE : recupere en parametres du main */
///* les N mots qui correspondent a la */
///* commande qui doit s'executer en lisant */
///* dans le pipe-line, */
///* - FILS : recupere en parametres du main */
///* les M mots suivants qui correspondent */
///* a la commande qui doit s'executer en */
///* lisant dans le pipe-line */
///* s'executer vers le pipe-line. */
///* EXEMPLE : p_pipe_arg who wc <====> who | wc */
///************************************************************/
///* - Version 1 : N = 1 et M = 1 (equivalent ls | wc) */
///* - Version 2 : N = 1 et M = 1 ET */
///* Le comportement du pere (ci-dessus) est */
///* est fait dans un deuxieme fils. */
///* - Version 3 : N = 2 et M = 2 ET */
///* Le comportement du pere (ci-dessus) est */
///* est fait dans un petit-fils. */
///* */
///* Ne pas utiliser d'initialisation dynamique de tableau */
///************************************************************/
# include <stdio.h>
# include <stdlib.h>
# include <unistd.h>
# define READ 0
# define WRITE 1
# define ENTREE 0
# define SORTIE 1
int main (int argc, char* argv[])
{
int resultat ;
if (argc != 3)
fprintf (stderr, "SYNTAXE : %s commande1 commande2\n", argv[0]);
{
///**************** PERE ******************/
///* PARTIE A COMPLETER */
///****************************************/
resultat = fork();
if (resultat < 0)
{
perror("ERREUR FORK");
exit (2) ;
}
else if (resultat == 0)
{
///**************** FILS ******************/
///* PARTIE A COMPLETER */
///****************************************/
}
else
{
/**************** PERE ******************/
/* PARTIE A COMPLETER */
/****************************************/
}
}
}