[ LUGOS ] fork
    Matjaz Terpin 
    matjazt na comcom.si
       
    Pon Jun 22 07:34:18 CEST 1998
    
    
  
On Sun, 21 Jun 1998, Metod Koželj wrote:
> Howdy!
> 
> On Sat, 20 Jun 1998, polz wrote:
> 
> > 1. Ce proces forkam, kako naj cim eleganteje poskrbim da umre, 
> > 	ko umre stars?
> 
> Funkcija fork (glej man 2 fork) vrne dva razlicna rezultata. V starsevskem
> procesu vrne PID otroka, v otroskem procesu pa 0.
> 
> Torej mora stars, preden izdihne, izvesti funkcijo kill (man 2 kill), ki
> ji kot parameter das PID otroka.
> 
> > 2. Ko se child zakljuci, mi ostane zombie. Kako naj starsu povem, 
> > 	da je otrok mrtev?
> 
> Stars lahko pogleda, ali otrok se zivi. To naredis s funkcijo waitpid in
> ustreznimi parametri (man 2 waitpid; recimo
> 
>     if (waitpid (child, (int *) NULL, WNOHANG)!=child)
> 	fprintf (stderr, "Child PID=%d still runing.\n", child);
> 
> ).
Se ena varianta:
procesu moras eksplicitno povedati, naj ignorira signal SIGCHLD,
npr.
  signal(SIGCHLD,SIG_IGN);
To bi moralo prepreciti nastajanje zombijev.
LP!
Matjaz
------------------------------------------------------------
 Matjaz Terpin  
 COMCOM d.o.o.,  Vojkova 4,  5280 Idrija,  Slovenija  
 ++386 (0)65 172 020
 matjaz.terpin na comcom.si
------------------------------------------------------------
    
    
Dodatne informacije o seznamu Starilist