Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _SVID_SOURCE
- #include<sys/types.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include<sys/ipc.h>
- #include <sys/wait.h>
- #include<sys/sem.h>
- #include <unistd.h>
- #include "semafory.h"
- int main()
- {
- int licznikProcesow;
- printf("Podaj ilość procesów dla powielacza\n");
- scanf("%d",&licznikProcesow);
- key_t key;
- key=uzDostep();
- int idZestawu=tworzenie(key);
- printf("semafor utworzony\n");
- inicjalizacja(idZestawu);
- int i=0;
- while(i<licznikProcesow)
- { pid_t pid=fork();
- if( pid==-1)
- {
- perror("błąd fork\n");
- exit(1);
- }
- if(pid== 0) //proces potomny
- {
- printf("proces nr:%d",getpid());
- execl("./semafory.exe","semafory.exe",NULL);
- perror("execl error\n");
- }
- else
- { sleep(4); //proces macierzysty
- }
- i++;
- }
- int ileProcesow;
- ileProcesow=kolejka(idZestawu);
- if(ileProcesow<1)
- { usunSem(idZestawu);
- }
- fprintf(stdout,"Koniec\n");
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement