Контрольная работа: Копирование содержимого Файла 1 в остальные файлы
remove("file2");
remove("file3");
remove("file4");
creat_mem();
creat_sem();
pid1 = getpid();
pid = fork();
if (!pid) prss2();
else prss1();
sleep(2);
wait(&st);
}
void creat_mem(void)
{
printf("--- func creat_mem(): memory creating: %dbytes --- pid=%d\n", K, getpid());
shmid = shmget(SHMKEY, 1*K, 0777|IPC_CREAT);
addr = shmat(shmid, 0, 0);
pint = (int *) addr;
}
void creat_sem(void)
{
printf("--- func creat_sem(): semaphor creating: --- pid=%d\n", getpid());
semid = semget(SEMKEY, Count, 0777|IPC_CREAT);
semctl(semid, Count, SETALL, initarray);
p.sem_op = -1;
p.sem_flg = SEM_UNDO;
v.sem_op = 1;
v.sem_flg = SEM_UNDO;
}