[C]- Tworzenie 3 procesów zombi jednocześnie

Problemy dotyczące programowania.

Moderatorzy: Moderatorzy, Administratorzy

orzech1234
Użytkownik
Posty: 3
Rejestracja: 2012-11-23, 17:18

[C]- Tworzenie 3 procesów zombi jednocześnie

Post autor: orzech1234 »

Tak jak w temacie, nie wiem tylko czy jest to dobrze...

Kod: Zaznacz cały

#include <stdio.h>
main(){
   for(int i=0; i<3; i++)
   {
       if (fork() == 0)
       exit(0);
  sleep(30);
   wait(NULL);
}
}
Może ktoś sprawdzić?
Awatar użytkownika
mina86
Moderator
Posty: 3343
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 5.x x86_64
Kontakt:

Re: [C]- Tworzenie 3 procesów zombi jednocześnie

Post autor: mina86 »

No cóż. Jeśli ktoś pyta o moją opinię, to jest to bardzo brzydka składnia… Nie wspominając o mieszaniu C89 z C99. I bynajmniej nie tworzy to trzech procesów zombi jednocześnie.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
orzech1234
Użytkownik
Posty: 3
Rejestracja: 2012-11-23, 17:18

Re: [C]- Tworzenie 3 procesów zombi jednocześnie

Post autor: orzech1234 »

A może takie coś:

Kod: Zaznacz cały

#include <stdio.h>
main(){
       if (fork() == 0 && fork() == 0 && fork() == 0)
       exit(0);
}
?
Awatar użytkownika
mina86
Moderator
Posty: 3343
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 5.x x86_64
Kontakt:

Re: [C]- Tworzenie 3 procesów zombi jednocześnie

Post autor: mina86 »

Teraz przynajmniej nie ma mieszania C89 z C99 (całość jest w C89), ale nie zmienia to faktu, że pozostałe zastrzeżenia pozostają w mocy.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
orzech1234
Użytkownik
Posty: 3
Rejestracja: 2012-11-23, 17:18

Re: [C]- Tworzenie 3 procesów zombi jednocześnie

Post autor: orzech1234 »

hm... a może jakieś naprowadzenie co tutaj źle robię... bo zdaję mi się, że proces zombi tworze tylko jak to zrobić jednocześnie?
Awatar użytkownika
dienet
Moderator
Posty: 2105
Rejestracja: 2007-07-24, 18:58
Lokalizacja: Racibórz/Rybnik

Re: [C]- Tworzenie 3 procesów zombi jednocześnie

Post autor: dienet »

orzech1234 pisze:hm... a może jakieś naprowadzenie co tutaj źle robię... bo zdaję mi się, że proces zombi tworze tylko jak to zrobić jednocześnie?
Żeby zrobić coś jednocześnie, tzn. nie sekwencyjnie, to wypadało by użyć wątków. Wypadało by mieć też min. 3 procesory.
Pozdr0
dienet
[img]http://i164.photobucket.com/albums/u19/slawek15/kotekeo0lq3.jpg[/img]
Awatar użytkownika
mina86
Moderator
Posty: 3343
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 5.x x86_64
Kontakt:

Re: [C]- Tworzenie 3 procesów zombi jednocześnie

Post autor: mina86 »

dienet pisze:Żeby zrobić coś jednocześnie, tzn. nie sekwencyjnie, to wypadało by użyć wątków. Wypadało by mieć też min. 3 procesory.
Wątki raczek nie są tu potrzebne. Również warunek minimum 3 procesów powyższe kawałki kodu spełniają. Żaden jednak nie doprowadza do sytuacji, gdy w systemie są trzy procesy zombie jednocześnie. W pierwszym rodzic ładnie czeka na każde z dzieci, w drugim dziecko forkuje, co prowadzi do wyczyszczenia wnuka i prawnuka.

BTW. Cofam moją uwagę nt. niemieszania C89 i C99 w drugim przykładzie. Brakuje w nim bowiem “return 0” na końcu.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
ODPOWIEDZ