Скачиваний:
17
Добавлен:
08.01.2014
Размер:
1.15 Кб
Скачать
(* фТЕФЙК РТЙНЕТ ТБВПФЩ У ЛБОБМБНЙ *)
uses linux,stdio;

const
MSGSIZE=16;
msg1:array [0..MSGSIZE-1] of char = 'hello, world #1';
msg2:array [0..MSGSIZE-1] of char = 'hello, world #2';
msg3:array [0..MSGSIZE-1] of char = 'hello, world #3';

var
inbuf:array [0..MSGSIZE-1] of char;
fdr,fdw,j,pid:longint;
begin
(* пФЛТЩФШ ЛБОБМ *)
if not assignpipe (fdr,fdw) then
begin
perror ('пЫЙВЛБ ЧЩЪПЧБ pipe ');
halt (1);
end;
pid := fork;
case pid of
-1:
begin
perror ('пЫЙВЛБ ЧЩЪПЧБ fork');
halt (2);
end;
0:
begin
(* дПЮЕТОЙК РТПГЕУУ, ЪБЛТЩЧБЕФ ДЕУЛТЙРФПТ ЖБКМБ,
* ПФЛТЩФПЗП ДМС ЮФЕОЙС Й ЧЩРПМОСЕФ ЪБРЙУШ Ч ЛБОБМ
*)
fdclose (fdr);
fdwrite (fdw, msg1, MSGSIZE);
fdwrite (fdw, msg2, MSGSIZE);
fdwrite (fdw, msg3, MSGSIZE);
end;
else
begin
(* тПДЙФЕМШУЛЙК РТПГЕУУ, ЪБЛТЩЧБЕФ ДЕУЛТЙРФПТ ЖБКМБ,
* ПФЛТЩФПЗП ДМС ЪБРЙУЙ Й ЧЩРПМОСЕФ ЮФЕОЙЕ ЙЪ ЛБОБМБ
*)
fdclose (fdw);
for j := 1 to 3 do
begin
fdread (fdr, inbuf, MSGSIZE);
writeln (inbuf);
end;
wait(nil);
end;
end;
halt (0);
end.
Соседние файлы в папке 7