# include <stdio.h>
# include <unistd.h>
main()
{
int i,j,fd[2];
char S[100];
pipe(fd);
if (i=fork()==0)
{
sprintf(S,"Child Process 1 is sending a message!\n");
write(fd[1],S,50);
sleep(3);
return;
}
if (j=fork()==0)
{
sprintf(S,"Child Process 2 is sending a message!\n");
write(fd[1],S,50);
sleep(3);
return;
}
else
{
wait(0);
read(fd[0],S,50);
printf("%s",S);
read(fd[0],S,50);
printf("%s",S);
return;
}
}
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
int main()
{
int pid ,i;
if((pid = fork())<0)
{
printf("child fails to create\n");
return 0;
}
else if (pid ==0)
{
lockf(1,1,0);
for(i = 0;i<10;i++)
printf("This is child (pid = %d)process:b\n",getpid());
lockf(1,0,0);
return 0;
}
else
{
lockf(1,1,0);
for(i =0;i<10;i++)
printf("Parent process:a\n");
lockf(1,0,0);
}
}