abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    12.1. 23:33 | Zajímavý článek

    Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu lednový souhrn novinek.

    Ladislav Hagara | Komentářů: 0
    12.1. 22:55 | Pozvánky

    Baví vás bastlení, fyzika, IT a nebo prostě cokoliv technického? Proseděli jste celé Vánoce v záři obrazovky počítače a nebo jste o tom alespoň snili? Chcete se pochlubit technickými vánočními dárky? Pak doražte na Virtuální Bastlírnu - online pokec (nejen) techniků a bastlířů!

    … více »
    bkralik | Komentářů: 0
    12.1. 22:33 | Nová verze

    Desktopové prostředí Enlightenment bylo vydáno ve verzi 0.27.0, provázejí ho knihovny EFL 1.28. Jde o převážně opravné vydání opět po roce.

    Fluttershy, yay! | Komentářů: 5
    12.1. 01:22 | Nová verze

    Lazygit byl vydán ve verzi 0.45.0. Jedná se o TUI (Text User Interface) nadstavbu nad gitem.

    Ladislav Hagara | Komentářů: 0
    11.1. 17:33 | Komunita

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

    Ladislav Hagara | Komentářů: 0
    11.1. 17:22 | Nová verze

    Byla vydána nová verze 2.48.0 distribuovaného systému správy verzí Git. Přispělo 93 vývojářů, z toho 35 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    11.1. 17:11 | Nová verze

    Byl vydán Debian 12.9, tj. devátá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    11.1. 05:00 | Komunita

    Před dvanácti lety, ve svých šestadvaceti letech, navždy odešel Aaron Swartz, výjimečný americký hacker (programátor), spisovatel, archivář, politický organizátor a internetový aktivista. Aaron Swartz založil Demand Progress, spolupracoval na projektech Open Library, Internet Archive a Reddit. Ve svých čtrnácti se podílel na specifikaci RSS 1.0. Vytvořil webový framework web.py, pracoval na tor2web a rozšíření HTTPS Everywhere

    … více »
    Fluttershy, yay! | Komentářů: 5
    10.1. 17:22 | Nová verze

    Byla vydána nová major verze 3.20.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 2
    10.1. 05:33 | IT novinky

    Na Kickstarteru byla spuštěna plánovaná kampaň na open source modulární přenosné mini počítače Pilet 5 a Pilet 7 postavené na Raspberry Pi 5. Jejich cena je 215 a 202 amerických dolarů.

    Ladislav Hagara | Komentářů: 2
    Rozcestník

    Dotaz: Procesy v C/C++

    13.4.2011 19:05 Honza
    Procesy v C/C++
    Přečteno: 897×
    Ahoj chtěl bych se zeptat jak udělám aby hlavni rodicovskej proces pockal na dokonceni vsech child procesů?Chtěl bych aby mi hlavni proces udelal nekolik potomků stejny urovne a pak aby pockal na dokonceni vsech ale nejak se mi to nedari.Pri spusteni se mi vytvori 2 potomci ale pak jeste jeden podproces z toho prvniho potomko a nevim proc. Tady je kod:

    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <unistd.h>
    void pracuj(){
    printf("Zavolal jsem metodu pracuj\n");
    printf("Rodicovsky proces je: %d",(int)getppid());
    sleep(5);
    printf("Konec metody pracuj\n\n");
    }
    int main (){
    pid_t child_pid;
    int status;
    printf ("the main program process id is %d\n", (int) getpid ());
    for(int i=0;i<2;i++){
    child_pid = fork ();
    if(child_pid == 0){
    printf("vytvoreny potomek %d\n",(int)getpid());
    pracuj();
    }
    }
    wait(&status);
    printf("Konec programu\n");
    return (0);
    }


    Řešení dotazu:


    Odpovědi

    13.4.2011 19:10 Sten
    Rozbalit Rozbalit vše Re: Procesy v C/C++
    Funkce pracuj (nebo ta podmínková větev potomka) musí končit exitem, jinak se po skončení vrátí do onoho for cyklu a znovu se forkne.
    19.4.2011 21:23 Honza
    Rozbalit Rozbalit vše Re: Procesy v C/C++
    a jak udělat aby mi ten hlavni proces cekal na vsechny svoje potomky? pokud potomci cekaji vsichni stejne dlouho dobu je tom OK ale kdyz tam dam rozdilnou cekaci dobu tak se hlavni proces ukonci spolu s tim nejrychlejsim
    19.4.2011 21:38 Sten
    Rozbalit Rozbalit vše Re: Procesy v C/C++
    Možností je spousty, namátkou tři (od nejjednoduššího po nejsložitější):
    • Volejte funkci wait tak dlouho, dokud neselže s ECHILD
    • Počítejte, kolikrát uděláte fork, a potom proveďte stejný počet waitů
    • Vytvořte si množinu (vektor, mapu, ...), kam uložíte PID každého dítěte (vrácené forkem), a když wait vrátí nějaké PID, odebrte je z té množiny, takže když bude ta množina prázdná, žádné další dítě není

    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.