SHPORA.net :: PDA | |
Main FAQ ãóìàíèòàðíûå íàóêè åñòåñòâåííûå íàóêè ìàòåìàòè÷åñêèå íàóêè òåõíè÷åñêèå íàóêè b.Fork оntr-un sist.de paginare ^int global;
^main ( ) { ^int local; ^local=1; ^if ( v fork ( ) ==0 ) { /*copi/*/ ^global=2; /*scrie în zona de date a pãrintelui*/ ^local=3; /*scrie în stiva pãrintelui*/ ^exit ( ); } ^print f ("global [procent]d local [procent]d/n", global, local ); } . Dupã apelul sistem vfork, procesul-fiu nu face exec, dar reseteazã variabilele global ?i local ?i iese. Sistemul garanteazã cã procesul pãrinte este suspendat pânã când procesul fiu apeleazã exec sau rese. Când procesul pãrinte reia în final execuþia, gãse?te valorile celor douã variabile diferite de cele dinainte de vfork. Pot apãrea efecte mai spectaculoase dacã procesul-fiu revine din funcþia care a apelat vfork. |