Ahoj,
prispivam uz trosku pozde, ale zrovna ted je to pro me aktualni. Protoze je to clanek pro zacatecniky, a fork() a exec() jsem jeste nikdy nepouzil, chci se zeptat na par drobnosti:
Jak je to s uvolnovanim zdroju? Co kdyz ma rodicovsky proces dynamicky alokovanou nejakou pamet, otevrene soubory ci zarizeni, namapovane soubory nebo jine veci. Je treba, aby toto vsechno potomek uvolnoval/uzaviral? Na co si dat pozor mezi spustenim fork() a exec()? Existuje nejaky soubor pravidel, co udelat mezi fork() a exec()?
Jestli nekdo z vas jeste bude tento prispevek cist a bude chtit odpovedet nebo doporucit nejake zdroje, moc mi to pomuze. Kdyz tak mi poslete prosim i mail. Dik.
Cuz,
syscall fork(), zduplicitni dany proces (viz. novy task_struct atd...) ... nemusis se bat o dynamickou pamet ci o otevrene soubory -> nebudou se ovlivnovat (resp. read-on-write metoda => zduplicidni se po prvnim pouziti jednim z techto dvou), takze se prakticky o nic starat nemusis. [jine je to s VLAKNAMA!!!]. Co se tyce exec, tak je to jednoduche ... stary program v pameti je nahrazen novym (+ ošetření).