Académique Documents
Professionnel Documents
Culture Documents
Roll No.104179
pipe1.c
#include<stdio.h>
void main()
int p[2],pid;
pipe(p);
printf("%d %d",p[0],p[1]);
__________________________________
sanket@linuxmint ~ $ ls
sanket@linuxmint ~ $ cc pipe1.c
sanket@linuxmint ~ $ ./a.out
3 4sanket@linuxmint ~ $
pipe2.c
#include<stdio.h>
void main()
{
int p[2],pid;
pipe(p);
pid=fork();
if(pid==0)
printf("%d %d",p[0],p[1]);
else
printf("\nParent Process");
printf("%d %d",p[0],p[1]);
OUTPUT :
sanket@linuxmint ~ $ cc pipe2.c
sanket@linuxmint ~ $ ./a.out
Parent Process3 4
34
sanket@linuxmint ~ $
pipe3.c
//half-duplex
#include<stdio.h>
void main()
int p[2],pid;
char buf[20];
pipe(p);
pid=fork();
if(pid>0)
close(p[0]);
}
write(p[1],msg,20);
if(pid==0)
close(p[1]);
read(p[0],buf,20);
printf("\n %s",buf);
}
OUTPUT:
sanket@linuxmint ~ $ cc pipe3.c
sanket@linuxmint ~ $ cc pipe3.c
sanket@linuxmint ~ $ ./a.out
BlaCK COLLARSsanket@linuxmint ~ $