Tėvinis procesas

Tėvinis procesas yra kompiuterinis procesas, kuris sukūrė vieną ar daugiau vaikų procesų.

Operacinėse sistemose su hierarchine procesų organizacija (pvz., UNIX, Linux), kiekvienas procesas, išskyrus nulinį procesą (kintamasis) yra sukuriamas, kai kitas procesas atlieka „fork“ sistemos komandą (). Procesas, kuris iššaukia „fork“ komandą, yra tėvinis procesas, o naujai sukurtas procesas vadinamas vaiko procesu (). Kiekvienas procesas (išskyrus nulinį procesą) turi tik vieną tėvinį procesą, bet gali turėti daug vaikų procesų.

Branduolys identifikuoja kiekvieną procesą pagal jo identifikatorių (PID) (). Nulinis procesas yra ypatingas procesas, kuris yra sukuriamas sistemos užkrovimo metu; po vaiko proceso išsišakojimo (1 procesas), nulinis procesas tampa kintamuoju procesu. Pirmasis procesas, žinomas kaip pirminis (), yra kiekvieno kito proceso sistemoje protėvis.

Vaiko procesas baigia darbą, iškviesdamas sistemines komandas: 
 exit () – jeigu sėkmingai baigė darbą;
 dėl klaidos, sugeneruodamas lemtingą pabaigos klaidą ();
 gavęs darbo pabaigos signalą. Darbo pabaigos būdas grąžinamas operacinei sistemai. 

Tėvinis procesas yra informuojamas apie jo vaiko proceso nutraukimą per SIGCHLD (SIGCHILD – vaiko proceso signalas) signalą. Tėvinis procesas gauna vaiko proceso išėjimo būseną, iškviesdamas „wait“ sistemos komandą. Tačiau, jei tėvinis procesas to neatlieka, vaiko procesas tampa mirusiu procesu ().

Kategorija:Informatika