Notă: mâner proces rămâne valabil chiar și după încheierea procesului. Atunci când programul este completat cu utilizarea descriptorului, se poate închide prin trecerea mânerului la funcția Win32 API. CloseHandle. În cazul în care programul nu se închide mânerul, se va închide automat atunci când programul este completă. Atunci când toți descriptorii procesului vor fi închise, Windows eliberează memoria de informații care au sprijinit procesul. [4]
Programul poate transfera mânerul pentru procesul de copil alte funcții Win32 API pentru a le controla, cum ar fi funcția. SetPriorityClass pentru a schimba prioritatea unui proces sau a funcției. TerminateProcess pentru încetarea imediată a acesteia. [5]
Dacă pp - la indicatorul descriptor de proces. acest câmp este disponibil ca structură pp elementului - - p - pri. [6]
Funcția. CreateProcess oferă un mâner pentru procesul de copil. funcțiile: părintele acesta una din mai multe funcții Win32 API transmite. GetExitCodeProcess pentru procesul de cod de întoarcere, funcția. WaitForSingleObject să aștepte finalizarea procesului, funcția. SetPriorityClass pentru a schimba prioritatea sau proces. TerminateProcess să-l oprească. [7]
Acest lucru este valabil nu numai pentru descriptorul de proces. dar toate celelalte structuri de date nucleu de sistem. Cantitatea lor poate fi variată în timpul generării; în timpul funcționării sistemului, atunci când depășirea număr predeterminat de limitare generatoare inacceptabile. [8]
De îndată ce mânerul obiect este plasat în tabelul descriptor de proces. orice flux de proces poate folosi. [10]
Programul trimite o funcție Win32 API. WaitForSingleObject mâner la procesul de copil. să aștepte finalizarea acestuia (a se vedea. Chap. [11]
Parametrul BinheritHandles determină dacă procesul copil va moșteni descriptorii procesul părinte (o altă măsură de securitate), iar în acest caz, ar trebui să fie adevărat. Parametrul dwcreationFiags vă permite să specificați steaguri care influențează procesul de creare. Detașat steaguri de proces și de a crea noi CONSOLE asociate cu moștenire. În mod implicit, copilul moștenește consola procesului părinte. Dacă ne-am stabilit un steag PROCES decomandata, procesul nu moștenește consola, iar în acest caz, se poate face, chiar și fără a avea consola, dacă este cazul, nu va fi creat, de exemplu, prin funcția Aiiocconsole. Dacă am stabilit CREATE pavilion NEW CONSOLE, procesul copil va primi automat o nouă consolă. Proces cu o consolă GUI, desigur, nu este necesară. [12]
proces utilizator prioritar calculat un mod mai complicat. La calcularea valorilor celor două domenii implicate descriptor de proces. p - frumos și p Med. Prima dintre acestea este format de către utilizator și poate fi numit utilizator prioritar proces component, al doilea - care formează sistemul și un sistem numit component. [14]
Pentru fiecare proces, sistemul contorizează timpul continuă a șederii sale la acest nivel de memorie. Timpul de numărat este stocat în procesul de timp descriptor p. [15]
Pagina: 1 2