20.fork,exit,exec,wait.txt

Download 20.fork,exit,exec,wait.txt

If you can't read please download the document

Upload: madalina-oprea

Post on 08-Nov-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

20.Creearea i manevrarea proceselor Unix: fork, exit, exec, wait*fork()-modul de creare al unui proces-(din proceul parinte) se copiaza imaginea procesului intr-o zona de memorie libera, aceaasta copie fiind noul proces creat (proces fiu), in prima faza identic cu procesul initial-un apel fork() intoarce in procesul parinte pid-ul noului proces fiu, iar in procesul fiuintoarce valoarea 0-in caz de esec => -1 si seteaza coresp variabila errno-rezultat >0 =>suntem in parinte =0 =>suntem in fiu*exec*()-apelului exec i se furnizeaza numele unui fisier executabil, iar continutul acestuia se suprapune peste programul procesului existent-Prototipurile apelului exec*() int execv (char *fisier,char *argv[]); int execl(char *fisier, char *arg0,...,char *argn,NULL); int execve(char *fisier,char *argv[],char *envp[]); int execle(char *fisier,char *arg0,...,char *argn,NULL,char *envp[]); int execvp(char *fisier,char *argv[]); int execlp(char *fisier,char *arg0,...,char *argn,NULL);*exit()exit(int n)-provoaca terminarea procesului curent si revenirea la procesul parinte-n este codul de retur cu care se termina procesul *wait()-suspenda executia programului pana la terminarea unui proces fiu*waitpid()-pune programul in asteptare pana la aparitia unuia dintre urm evenimente: ->terminarea procesului precizat prin argumentul pid ->receptionarea unui semnal de terminare a proceesului curent ->aparitia unui semnal cu efect de iesire din starea de asteptare