Nowe posty

Autor Wątek: Zombie  (Przeczytany 3333 razy)

twardziel

  • Gość
Zombie
« dnia: 2012-01-02, 21:48:05 »
Mam do napisania program który tworzy równocześnie trzy procesy zombie.
Czy mógłby ktoś sprawdzić??

#include 
#include

int main()
{
        if (fork() == 0)
                if (fork() == 0)
                        if (fork() == 0)
                                exit(0);

        sleep(15);
        wait(NULL);
}

Ksanderon

  • Gość
Zombie
« Odpowiedź #1 dnia: 2012-01-04, 18:53:28 »
raczej nie bardzo, dorób sobie klamry z elsami(tak abyś widział jak będzie wykonywał się kod ), zastanów się jak po kolei procesy będą ginąc uwzględniając to, że aktualnie init przejmuje procesy, których matka się zakończy wcześniej maksymalnie uzyskasz 2 zombie.

najprościej:
int main(int argc, char **argv)
{
for( int i = 0; i < 3; i++) if(fork()==0) return 0;
sleep(15);
wait(0);
return 0;
}