Portál AbcLinuxu, 10. května 2025 02:50

Dotaz: jednoduche forkovani

16.5.2007 23:57 Michael26100
jednoduche forkovani
Přečteno: 169×
Odpovědět | Admin
Zdravim Vas, mam jednoduchy dotaz:

Pokud potrebuji n procesů, ktere budou pristupovat ke sdilene strukture, pravdepodobne musim pouzit forkovani kde bude pouze jeden rodic a n potomku. Zajimalo by me:

1) Muzu to udelat tak, ze: udelam for kde budu forkovat pouze pokud pid > 0, == 0 volat exit? Tim bych mel mit jednoho rodice a n potomku...

2) Sdilenou strukturu mam pripojit jeste pred forkovanim a tim budou mit pristup vsichni ostatni? Nebo ji musim pripojit po kazdem forku?

3) Az provedu forkovani a potrebuji aby procesy byli ve funkci s nekonecnym cyklem, mam ji volat hned po forkovani?

4) Nevite o odkazu, kde by byla dobre popsana problematika procesu? Mockrat dekuji za odpovedi na jednotlive otazky
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.5.2007 00:37 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: jednoduche forkovani
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podle mě nemá smysl ti na to odpovídat. Jestli chceš naprogramovat seriózní program, tak musíš vycházet ze znalostí a ne domněnek a náhodně posbíraných faktů z diskuze. Za vhodný a rychlý úvod do problematiky bych považoval slajdy Martina Berana (http://www.ms.mff.cuni.cz/~beran/vyuka/UNIX/.cs#materialy), studiem a ošaháním si příkladů, které jsou na té samé stránce určitě taky nic nezkazíš :-)

man fork, man shmget, man shmat atd. :-)
17.5.2007 00:44 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: jednoduche forkovani
A nezapomeň na synchronizaci přístupu ke sdílené paměti :-)
17.5.2007 12:37 Michael26100
Rozbalit Rozbalit vše Re: jednoduche forkovani
Diky za odkaz, na slidech jsou ale asi jen tri o procesech a jestly jsem se dobre dival tak jen tri zdrojove texty ke procesum, nenasel jsem tam vsechno co jsem hledal, ale i tak moc diky...
17.5.2007 00:43 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: jednoduche forkovani
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud mají jednotlivé instance ve větší míře pracovat se sdílenými daty, stálo by za zvážení, zda místo procesů nepoužít thready.
17.5.2007 01:09 Michael26100
Rozbalit Rozbalit vše Re: jednoduche forkovani
Pomoci vlaken jsem uz ulohu resil, ale ted musim pouzit procesy...
17.5.2007 11:07 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: jednoduche forkovani
Musíte z technických důvodů (jakých?) nebo proto, že je to domácí úkol?
17.5.2007 12:00 Michael26100
Rozbalit Rozbalit vše Re: jednoduche forkovani
Je to sem. uloha...
17.5.2007 12:03 outsider
Rozbalit Rozbalit vše Re: jednoduche forkovani
Tak ty otazky konzultujte s vyucujim, ne s nama... Domaci ukoly za vas nikdo resit nebude :-)
17.5.2007 00:52 Michael26100
Rozbalit Rozbalit vše Re: jednoduche forkovani
Odpovědět | | Sbalit | Link | Blokovat | Admin
1) To asi (ne)funguje, v poli mam ulozeny pid child procesů, ale jak se k nim ted mam dostat?(ale ps hlasi 10 defunct, coz asi neni dobre)

while(i<10){ switch(pid=fork()) { case -1: exit(1);

case 0: exit(2);

default: {a[i]=pid;i++;} } } }
michich avatar 17.5.2007 08:04 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: jednoduche forkovani
Vzhledem k tomu, že se ti tví potomci okamžitě ukončují tím exit(2), tak z nich máš zombíky.
17.5.2007 11:08 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: jednoduche forkovani
Nepletete si exit a break?
17.5.2007 12:23 Michael26100
Rozbalit Rozbalit vše Re: jednoduche forkovani
Melo by to tedy vypadat tak, ze budu mit jeste jeden zdrojovy text .c ve kterem bude funkce s nekonecnym cyklem pro pristup ke sdilene strukture(se synchonizaci), misto exit bude fce exec s cestou k zdr.t. a ve vetvi pro rodice bude wait(na vytvoreneho potomka)?

Bude se pak dedit pouze puvodni rodic(bez vytvorenych potomku)?
17.5.2007 12:32 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: jednoduche forkovani
Obávám se, že nemá smysl odpovídat na takovéto jednotlivé dotazy, když je patrné, že vám chybí pochopení základních principů. Nejdřív si o problematice něco přečtěte, určitě jste na přednáškách dostali doporučenou nějakou literaturu, případně se podívejte na texty, na které vás odkazovali kolegové.
multi avatar 17.5.2007 12:05 multi | skóre: 38 | blog: JaNejsemOdsut
Rozbalit Rozbalit vše Re: jednoduche forkovani
Odpovědět | | Sbalit | Link | Blokovat | Admin
asi nebude optimalni koncit proces kdyz jich chces mit jeste vice
root c21 root c22
Fitness ajťák: kutilův web; bezdrátová čidla teploty vývoj softwaru linux server
17.5.2007 12:34 Michael26100
Rozbalit Rozbalit vše Re: jednoduche forkovani
Díky za odkaz, obsah vypada dost zajimave...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.