Hi
i need to create 5 children ... and each must have open one end of five pipes ...
so i create a this ...
Code:
#include <stdio.h>#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/wait.h>
int g_fd[5][2];
int main ()
{
// Create Pipes
for(int i = 0; i<5; i++)
{
pipe(g_fd[i]);
}
// Create Children
for(int j = 0; j<5; j++)
{
if(fork()==0)
{
//CloseAllPipies
for(int i=0; i<5; i++)
{
close(g_fd[i][0]);
printf("Process %d Pipe %d End 0 is CLOSE\n", j, i);
if(j==i)
{
printf("Process %d Pipe %d End 0 is OPEN\n", j, i);
//Write In child
}
else
{
printf("Process %d Pipe %d End 1 is CLOSE\n", j, i);
close(g_fd[i][1]);
}
}
}
else //end Parent
{
return 0;
}
}
printf("Some out ... \n");
return(0);
}
now my output is:
Code:
Process 0 Pipe 0 End 0 is CLOSE
Process 0 Pipe 0 End 0 is OPEN
Process 0 Pipe 1 End 0 is CLOSE
Process 0 Pipe 1 End 1 is CLOSE
Process 0 Pipe 2 End 0 is CLOSE
Process 0 Pipe 2 End 1 is CLOSE
Process 0 Pipe 3 End 0 is CLOSE
Process 0 Pipe 3 End 1 is CLOSE
Process 0 Pipe 4 End 0 is CLOSE
Process 0 Pipe 4 End 1 is CLOSE
Process 0 Pipe 0 End 0 is CLOSE
Process 0 Pipe 0 End 0 is OPEN
Process 0 Pipe 1 End 0 is CLOSE
Process 0 Pipe 1 End 1 is CLOSE
Process 0 Pipe 2 End 0 is CLOSE
Process 0 Pipe 2 End 1 is CLOSE
Process 0 Pipe 3 End 0 is CLOSE
Process 0 Pipe 3 End 1 is CLOSE
Process 0 Pipe 4 End 0 is CLOSE
Process 0 Pipe 4 End 1 is CLOSE
Process 1 Pipe 0 End 0 is CLOSE
Process 1 Pipe 0 End 1 is CLOSE
Process 1 Pipe 1 End 0 is CLOSE
Process 1 Pipe 1 End 0 is OPEN
Process 1 Pipe 2 End 0 is CLOSE
Process 1 Pipe 2 End 1 is CLOSE
Process 1 Pipe 3 End 0 is CLOSE
Process 1 Pipe 3 End 1 is CLOSE
Process 1 Pipe 4 End 0 is CLOSE
Process 1 Pipe 4 End 1 is CLOSE
Process 0 Pipe 0 End 0 is CLOSE
Process 0 Pipe 0 End 0 is OPEN
Process 0 Pipe 1 End 0 is CLOSE
Process 0 Pipe 1 End 1 is CLOSE
Process 0 Pipe 2 End 0 is CLOSE
Process 0 Pipe 2 End 1 is CLOSE
Process 0 Pipe 3 End 0 is CLOSE
Process 0 Pipe 3 End 1 is CLOSE
Process 0 Pipe 4 End 0 is CLOSE
Process 0 Pipe 4 End 1 is CLOSE
Process 1 Pipe 0 End 0 is CLOSE
Process 1 Pipe 0 End 1 is CLOSE
Process 1 Pipe 1 End 0 is CLOSE
Process 1 Pipe 1 End 0 is OPEN
Process 1 Pipe 2 End 0 is CLOSE
Process 1 Pipe 2 End 1 is CLOSE
Process 1 Pipe 3 End 0 is CLOSE
Process 1 Pipe 3 End 1 is CLOSE
Process 1 Pipe 4 End 0 is CLOSE
Process 1 Pipe 4 End 1 is CLOSE
Process 2 Pipe 0 End 0 is CLOSE
Process 2 Pipe 0 End 1 is CLOSE
Process 2 Pipe 1 End 0 is CLOSE
Process 2 Pipe 1 End 1 is CLOSE
Process 2 Pipe 2 End 0 is CLOSE
Process 2 Pipe 2 End 0 is OPEN
Process 2 Pipe 3 End 0 is CLOSE
Process 2 Pipe 3 End 1 is CLOSE
Process 2 Pipe 4 End 0 is CLOSE
Process 2 Pipe 4 End 1 is CLOSE
Process 0 Pipe 0 End 0 is CLOSE
Process 0 Pipe 0 End 0 is OPEN
Process 0 Pipe 1 End 0 is CLOSE
Process 0 Pipe 1 End 1 is CLOSE
Process 0 Pipe 2 End 0 is CLOSE
Process 0 Pipe 2 End 1 is CLOSE
Process 0 Pipe 3 End 0 is CLOSE
Process 0 Pipe 3 End 1 is CLOSE
Process 0 Pipe 4 End 0 is CLOSE
Process 0 Pipe 4 End 1 is CLOSE
Process 1 Pipe 0 End 0 is CLOSE
Process 1 Pipe 0 End 1 is CLOSE
Process 1 Pipe 1 End 0 is CLOSE
Process 1 Pipe 1 End 0 is OPEN
Process 1 Pipe 2 End 0 is CLOSE
Process 1 Pipe 2 End 1 is CLOSE
Process 1 Pipe 3 End 0 is CLOSE
Process 1 Pipe 3 End 1 is CLOSE
Process 1 Pipe 4 End 0 is CLOSE
Process 1 Pipe 4 End 1 is CLOSE
Process 2 Pipe 0 End 0 is CLOSE
Process 2 Pipe 0 End 1 is CLOSE
Process 2 Pipe 1 End 0 is CLOSE
Process 2 Pipe 1 End 1 is CLOSE
Process 2 Pipe 2 End 0 is CLOSE
Process 2 Pipe 2 End 0 is OPEN
Process 2 Pipe 3 End 0 is CLOSE
Process 2 Pipe 3 End 1 is CLOSE
Process 2 Pipe 4 End 0 is CLOSE
Process 2 Pipe 4 End 1 is CLOSE
Process 3 Pipe 0 End 0 is CLOSE
Process 3 Pipe 0 End 1 is CLOSE
Process 3 Pipe 1 End 0 is CLOSE
Process 3 Pipe 1 End 1 is CLOSE
Process 3 Pipe 2 End 0 is CLOSE
Process 3 Pipe 2 End 1 is CLOSE
Process 3 Pipe 3 End 0 is CLOSE
Process 3 Pipe 3 End 0 is OPEN
Process 3 Pipe 4 End 0 is CLOSE
Process 3 Pipe 4 End 1 is CLOSE
Process 0 Pipe 0 End 0 is CLOSE
Process 0 Pipe 0 End 0 is OPEN
Process 0 Pipe 1 End 0 is CLOSE
Process 0 Pipe 1 End 1 is CLOSE
Process 0 Pipe 2 End 0 is CLOSE
Process 0 Pipe 2 End 1 is CLOSE
Process 0 Pipe 3 End 0 is CLOSE
Process 0 Pipe 3 End 1 is CLOSE
Process 0 Pipe 4 End 0 is CLOSE
Process 0 Pipe 4 End 1 is CLOSE
Process 1 Pipe 0 End 0 is CLOSE
Process 1 Pipe 0 End 1 is CLOSE
Process 1 Pipe 1 End 0 is CLOSE
Process 1 Pipe 1 End 0 is OPEN
Process 1 Pipe 2 End 0 is CLOSE
Process 1 Pipe 2 End 1 is CLOSE
Process 1 Pipe 3 End 0 is CLOSE
Process 1 Pipe 3 End 1 is CLOSE
Process 1 Pipe 4 End 0 is CLOSE
Process 1 Pipe 4 End 1 is CLOSE
Process 2 Pipe 0 End 0 is CLOSE
Process 2 Pipe 0 End 1 is CLOSE
Process 2 Pipe 1 End 0 is CLOSE
Process 2 Pipe 1 End 1 is CLOSE
Process 2 Pipe 2 End 0 is CLOSE
Process 2 Pipe 2 End 0 is OPEN
Process 2 Pipe 3 End 0 is CLOSE
Process 2 Pipe 3 End 1 is CLOSE
Process 2 Pipe 4 End 0 is CLOSE
Process 2 Pipe 4 End 1 is CLOSE
Process 3 Pipe 0 End 0 is CLOSE
Process 3 Pipe 0 End 1 is CLOSE
Process 3 Pipe 1 End 0 is CLOSE
Process 3 Pipe 1 End 1 is CLOSE
Process 3 Pipe 2 End 0 is CLOSE
Process 3 Pipe 2 End 1 is CLOSE
Process 3 Pipe 3 End 0 is CLOSE
Process 3 Pipe 3 End 0 is OPEN
Process 3 Pipe 4 End 0 is CLOSE
Process 3 Pipe 4 End 1 is CLOSE
Process 4 Pipe 0 End 0 is CLOSE
Process 4 Pipe 0 End 1 is CLOSE
Process 4 Pipe 1 End 0 is CLOSE
Process 4 Pipe 1 End 1 is CLOSE
Process 4 Pipe 2 End 0 is CLOSE
Process 4 Pipe 2 End 1 is CLOSE
Process 4 Pipe 3 End 0 is CLOSE
Process 4 Pipe 3 End 1 is CLOSE
Process 4 Pipe 4 End 0 is CLOSE
Process 4 Pipe 4 End 0 is OPEN
Some out ...
And want on my output this:
Code:
Process 0 Pipe 0 End 0 is CLOSE
Process 0 Pipe 0 End 0 is OPEN
Process 0 Pipe 1 End 0 is CLOSE
Process 0 Pipe 1 End 1 is CLOSE
Process 0 Pipe 2 End 0 is CLOSE
Process 0 Pipe 2 End 1 is CLOSE
Process 0 Pipe 3 End 0 is CLOSE
Process 0 Pipe 3 End 1 is CLOSE
Process 0 Pipe 4 End 0 is CLOSE
Process 0 Pipe 4 End 1 is CLOSE
Process 1 Pipe 0 End 0 is CLOSE
Process 1 Pipe 0 End 1 is CLOSE
Process 1 Pipe 1 End 0 is CLOSE
Process 1 Pipe 1 End 0 is OPEN
Process 1 Pipe 2 End 0 is CLOSE
Process 1 Pipe 2 End 1 is CLOSE
Process 1 Pipe 3 End 0 is CLOSE
Process 1 Pipe 3 End 1 is CLOSE
Process 1 Pipe 4 End 0 is CLOSE
Process 1 Pipe 4 End 1 is CLOSE
Process 2 Pipe 0 End 0 is CLOSE
Process 2 Pipe 0 End 1 is CLOSE
Process 2 Pipe 1 End 0 is CLOSE
Process 2 Pipe 1 End 1 is CLOSE
Process 2 Pipe 2 End 0 is CLOSE
Process 2 Pipe 2 End 0 is OPEN
Process 2 Pipe 3 End 0 is CLOSE
Process 2 Pipe 3 End 1 is CLOSE
Process 2 Pipe 4 End 0 is CLOSE
Process 2 Pipe 4 End 1 is CLOSE
Process 3 Pipe 0 End 0 is CLOSE
Process 3 Pipe 0 End 1 is CLOSE
Process 3 Pipe 1 End 0 is CLOSE
Process 3 Pipe 1 End 1 is CLOSE
Process 3 Pipe 2 End 0 is CLOSE
Process 3 Pipe 2 End 1 is CLOSE
Process 3 Pipe 3 End 0 is CLOSE
Process 3 Pipe 3 End 0 is OPEN
Process 3 Pipe 4 End 0 is CLOSE
Process 3 Pipe 4 End 1 is CLOSE
Process 4 Pipe 0 End 0 is CLOSE
Process 4 Pipe 0 End 1 is CLOSE
Process 4 Pipe 1 End 0 is CLOSE
Process 4 Pipe 1 End 1 is CLOSE
Process 4 Pipe 2 End 0 is CLOSE
Process 4 Pipe 2 End 1 is CLOSE
Process 4 Pipe 3 End 0 is CLOSE
Process 4 Pipe 3 End 1 is CLOSE
Process 4 Pipe 4 End 0 is CLOSE
Process 4 Pipe 4 End 0 is OPEN
Some out ...