Domů
Ubuntu CZ/SK
Wiki
Komunita
Domů
Nápověda
Vyhledávání
Přihlásit
Registrovat
Prosíme
přihlašte se
nebo
zaregistrujte
.
1 hodina
1 den
1 týden
1 měsíc
nastálo
Přihlašte se svým uživatelským jménem a heslem.
Fórum Ubuntu CZ/SK
»
Ubuntu pro osobní počítače
»
Obecná podpora
»
Fork
« předchozí
další »
Tisk
Stran: [
1
]
Autor
Téma: Fork (Přečteno 1792 krát)
freex
Návštěvník
Příspěvků: 1
Fork
«
kdy:
26 Ledna 2008, 23:20:26 »
Prosím nemohl by mi někdo říct a trošku vysvětlit kolik zablokovaných procesů v systému zůstane, pokud přeložím a spustím následující program? Diky
main()
{
if (fork() == 0){
fork();
pause();
}
fork();
fork();
pause();
}
«
Poslední změna: 27 Ledna 2008, 02:17:13 od Anna Taliánová
»
IP zaznamenána
Martin Majliš
Návštěvník
Příspěvků: 34
Re: Fork
«
Odpověď #1 kdy:
28 Ledna 2008, 10:18:39 »
Kód:
[Vybrat]
1
main()
2
{
3
if (fork() == 0){
4
fork();
5
pause();
6
}
7
fork();
8
fork();
9
pause();
10
}
Co se deje: (predpoklad - vsechny forky se povedou - tzn. vytvori se potomek)
1. 1 proces
3. Vytvori se potomek - a ten bude pokracovat na radku 4, rodic bude pokracovat radkem 7 (tzn. 1x rodic, 1x potomek)
4. Potomek vytvori potomka (1x rodic, 1x potomek, 1x potomek potomka)
5. Potomek ceka na signal.
7. Rodic vytvori dalsiho potomka (1x rodic, 2x potomek, 1x potomek potomka)
8. Rodic a vytvori potomka a potomek vytvori potomka (1x rodic, 3x potomek, 2x potomek potomka)
9. Rodic + 2x potomek + 2x potomek potomka cekaji na signal.
Zaver: Na konci bude 6 procesu.
Fork - manualova stranka
Okomentovany priklad na wikipedii
IP zaznamenána
Tisk
Stran: [
1
]
« předchozí
další »
Fórum Ubuntu CZ/SK
»
Ubuntu pro osobní počítače
»
Obecná podpora
»
Fork
Provoz zaštiťuje
spolek OpenAlt
.