Скачиваний:
18
Добавлен:
08.01.2014
Размер:
940 б
Скачать
(* рТПЗТБННБ status -- РПМХЮЕОЙЕ УФБФХУБ ЪБЧЕТЫЕОЙС РПФПНЛБ *)
uses linux,stdio,crt;

procedure fatal(s:pchar);
begin
perror(s);
halt(1);
end;

var
pid:longint;
status, exit_status:integer;
begin
pid := fork;
if pid < 0 then
fatal ('пЫЙВЛБ ЧЩЪПЧБ fork ');
if pid = 0 then (* РПФПНПЛ *)
begin
(* чЩЪЧБФШ ВЙВМЙПФЕЮОХА РТПГЕДХТХ sleep
* ДМС ЧТЕНЕООПЗП РТЕЛТБЭЕОЙС ТБВПФЩ ОБ 4 УЕЛХОДЩ
*)
sleep(4);
halt(5); (* ЧЩИПД У ОЕОХМЕЧЩН ЪОБЮЕОЙЕН *)
end;
(* еУМЙ НЩ ПЛБЪБМЙУШ ЪДЕУШ, ФП ЬФП ТПДЙФЕМШУЛЙК РТПГЕУУ, *)
(* РПЬФПНХ ПЦЙДБФШ ЪБЧЕТЫЕОЙС ДПЮЕТОЕЗП РТПГЕУУБ *)
pid := wait(@status);
if pid = -1 then
begin
perror ('пЫЙВЛБ ЧЩЪПЧБ wait ');
halt(2);
end;
(* рТПЧЕТЛБ УФБФХУБ ЪБЧЕТЫЕОЙС ДПЮЕТОЕЗП РТПГЕУУБ *)
if WIFEXITED (status) then
begin
exit_status := WEXITSTATUS (status);
writeln ('уФБФХУ ЪБЧЕТЫЕОЙС ',pid,' ТБЧЕО ', exit_status);
end;
halt(0);
end.
Соседние файлы в папке 5