Vous êtes sur la page 1sur 4

Aim-Interprocess Communication

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

ac.c cli.c ma.c Pictures Public ser.c writer.c

alarma.c clien.c Music pipe1.c sdt server.c x1

ald.c Desktop N1 pipe2.c sdt.c Templates x2

a.out Documents N2 pipe3.c sem1.c threadme.c

b.c Downloads on.c ptoc.c sem2.c Videos

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 *msg="BlaCK COLLARS";

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

pipe3.c:6: error: expected expression before ‘int’

sanket@linuxmint ~ $ cc pipe3.c

sanket@linuxmint ~ $ ./a.out

BlaCK COLLARSsanket@linuxmint ~ $

Vous aimerez peut-être aussi