Добавил:
Fragga
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:лабораторки по ОС препод Челноков / 2семестр / wi2 / zubanov / test3 / main
.c#include <stdio.h>
#include <signal.h>
static int buf,max;
static int prnt()
{
printf("max1 %d %d \n ",max,buf);
signal(SIGALRM,(void *)&prnt);
}
main()
{
char s;
int pid;
FILE *fp;
signal(SIGALRM,(void *)&prnt);
fp=fopen("f.dat","r");
pid=fork();
if (pid == -1)
{printf("Error can't Fork\n");exit(-1);}
if (pid) //parent
while (1)
{
sleep(3);
fscanf(fp,"%d",&buf);
if (max<buf)max=buf;
printf("buf is %d\n ",buf);
kill (pid,SIGALRM);
prnt();
}
//child
while (1)
{
if (gets(&s) != NULL) break;
}
kill(getppid(),SIGKILL);
}