abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:33 | Zajímavý software

    Ente je open source služba pro ukládání a sdílení fotografií a videí. Alternativa k výchozím aplikacím od Googlu a Applu. V pátek byly uvolněny zdrojové kódy serveru pod licencí AGPL 3.0 [Hacker News].

    Ladislav Hagara | Komentářů: 3
    dnes 11:55 | Nová verze

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | Komunita

    Nintendo žaluje Tropic Haze, tj. společnost zastřešující vývoj open source emulátoru přenosné herní konzole Nintendo Switch yuzu (Wikipedie).

    Ladislav Hagara | Komentářů: 2
    včera 13:00 | Nová verze

    Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.1 a Linux From Scratch 12.1 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.39, Binutils 2.42 a Linuxem 6.7.4. Současně bylo oznámeno vydání verze 12.1 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.

    Ladislav Hagara | Komentářů: 0
    1.3. 22:22 | Upozornění

    Google blokuje Chaty RCS (Rich Communication Services neboli rozšířené komunikační služby) na telefonech s rootnutým Androidem nebo odemčeným zavaděčem [9to5Google].

    Ladislav Hagara | Komentářů: 18
    1.3. 12:22 | Komunita

    Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 16. a 17. března v Praze na Karlově náměstí 13. O open source hardwaru bude přednášet Mitch Altman.

    Ladislav Hagara | Komentářů: 1
    1.3. 08:00 | IT novinky

    Počítač NitroPC Pro 2 od společnosti Nitrokey s corebootem Dasharo byl oficiálně certifikován pro Qubes OS verze 4. Qubes OS (Wikipedie) je svobodný a otevřený operační systém zaměřený na bezpečnost desktopu.

    Ladislav Hagara | Komentářů: 1
    1.3. 07:00 | Nová verze

    Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 1.20. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 24
    29.2. 13:00 | IT novinky

    Jednodeskový počítač Raspberry Pi slaví 12 let. Prodej byl spuštěn 29. února 2012 (Wikipedie, 𝕏).

    Ladislav Hagara | Komentářů: 13
    29.2. 12:00 | Nová verze

    Byla vydána verze 3.2 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    Steam
     (30%)
     (28%)
     (6%)
     (9%)
     (28%)
    Celkem 80 hlasů
     Komentářů: 0
    Rozcestník

    Dotaz: exec() bez fork()

    13.12.2005 21:25 johny amater
    exec() bez fork()
    Přečteno: 114×
    Zdravim je korektni preplacnout proces volanim exec nebo by se to melo udelat v synovskem procesu a na ten pockat?

    tedy

    bud
    ...
    exec(..)
    
    nebo
    ..
    switch (pid = fork()) {
     case -1:
     case 0:
      exec(..);
     default:
      waitpid(pid, &status, 0);
      return WEXITSTATUS(status);
    }
    

    Odpovědi

    13.12.2005 21:28 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: exec() bez fork()
    Záleží na tom, jestli chcete zplodit potomka nebo nahradit proces kompletně novým programem.
    Luboš Doležel (Doli) avatar 13.12.2005 21:29 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: exec() bez fork()
    Můžete replacnout, pokud už nemáte v plánu v tom procesu nic jiného dělat.
    13.12.2005 21:34 johny amater
    Rozbalit Rozbalit vše Re: exec() bez fork()
    Samozřejmě nic dalšího se v procesu dělat nemá. Tedy to nemůže za žádných okolností způsobit žádné problémy (nevím jaké, ptám se)? Je to tedy způsob, jakým se to bežně dělá?
    13.12.2005 21:41 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: exec() bez fork()
    Tedy to nemůže za žádných okolností způsobit žádné problémy (nevím jaké, ptám se)?

    Kdyby to mělo způsobit nějaké problémy, způsobí je to nejspíš i v tom potomkovi (což je téměř identický proces). Naopak, má to své výhody, např. že image původního procesu nebude celou dobu zbytečně zaclánět v paměti.

    Je to tedy způsob, jakým se to bežně dělá?

    Ano, např. pokud mne paměť neklame, při přihlašlování uživatele takto getty spouští login a login takto spouští shell.

    13.12.2005 21:58 johny amater
    Rozbalit Rozbalit vše Re: exec() bez fork()
    Hmm. Ale neni to z jisteho uhlu pohledu podobne jako vyvolani _exit()?

    U poznamek _exitu se pravi treba:

    The function _exit is like exit(), but does not call any functions registered with the ANSI C atexit function, nor any registered signal handlers. Whether it flushes standard I/O buffers and removes temporary files created with tmpfile(3) is implementation-dependent.

    Nic z toho nepouzivam, ale nemuze tam byt nejaka jina podobna zrada?
    13.12.2005 23:03 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: exec() bez fork()
    To je samozřejmě na vás, abyste před voláním exec() uklidil, co potřebujete. Předpokládám, že tu funkci voláte z vlastního popudu, ne jako reakci na nějakou neočekávanou událost, takže na to máte dost klidu.
    14.12.2005 20:35 petr_p
    Rozbalit Rozbalit vše Re: exec() bez fork()
    Napr. descriptory bez nastaveneho FD_CLOEXEC zustanou otevreny i po execu.
    15.12.2005 00:14 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: exec() bez fork()
    S tím se ovšem tak nějak počítá jako s vlastností. Jinak by vám nefungovalo ani obyčejné přesměrování nebo roura v shellu.

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.