Контрольная работа: Копирование содержимого Файла 1 в остальные файлы
{
msgid = msgget(MSGKEY, 0666|IPC_CREAT);
msgsnd(msgid, (struct msgbuf *) &Message, 8, 0);
}
void prss1(void)
{
int i;
char buf[32] = " ";
prnum = 1;
p.sem_num = 0;
v.sem_num = 1;
ppid = getppid();
printf(" =I= prss%d, pid = %d, parent: %d\n", prnum, pid1, ppid);
pid = fork();
if (!pid) prss4();
else
{
fd = open("file1", O_RDONLY);
read(fd,buf,strlen(buf));
close(fd);
printf("I: reading from FILE1:\t%s\n",buf);
signal(SIGUSR2, p41);
sleep(1);//ojidanie priema signala ot prssa4
kill(pid1+2,SIGUSR1);
printf("================== prss1: writing to memory\n");
for(i = 0; i <= 31; ++i) pint[i] = buf[i];
semop(semid, &p, 1);
semop(semid, &v, 1);
sleep(2);