[ LUGOS ] Fork vprasanje...

klp fapi666 na usa.net
Sob Jul 11 21:25:38 CEST 1998


-----Original Message-----
From: Ales Horvat <ales.horvat na nevtron.si>
To: lugos-list na lugos.si <lugos-list na lugos.si>
Date: 11. julij 1998 21:00
Subject: Re: [ LUGOS ] Fork vprasanje...


>Boris Benko wrote:
>
>> Kako kontrolirati, koliko trenutno forkanih sinov se aktivno tece?
>
>Jaz delam takole: globalna spremenljivka za stevilo procesov; za vsak
>fork() povecam stevilko (pazis da se ti to ne zgodi pri ocetu in sinu -
>i.e. if(fork()) num++;). Nato pa s signalom SIGCHLD lovim
>koncane/ubite/.. procese.
>
>Fragment kode je nekaj takega:
>
>...
>#include <signal.h>
>#define MAXCHILD 5
>int numchlds=0;
>
>void mysignalhandler(int sigv){
>   numchlds--;
>}
>
>void main(){ // ali pac kjer rabis...
>   int st;
>   void (*oldsignalhandler)(int);
>   oldsignalhandler=signal(SIGCHLD, mysignalhandler);
>
>   if (numchlds<MAXCHILD){
>      st=fork();
>      if (st) numchlds++;
>   }
>
>... blahblah
>
>}
>
>
>Emm.. :) to sem spisal na pamet. Napake so mozne. Vazen je koncept. :)


Ja jes bi pri vsem se autoconf uporabljal... (ker je return type of signal
handlerjev razlicen na razlicinh platformah)..






Dodatne informacije o seznamu Starilist