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í
×

    dnes 04:55 | Nová verze

    Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.

    Ladislav Hagara | Komentářů: 1
    dnes 03:22 | Nová verze

    Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 19:53 | Bezpečnostní upozornění
    V Xenu objevena zranitelnost. Chyba v mechanismu grant copy umožňuje škodlivému virtuálnímu stroji číst a přepisovat libovolnou paměť jiných VM včetně privilegované domény Dom0. Dotčené verze jsou Xen 4.6 a novější. V upstreamu jsou dostupné patche pro Xen 4.17 až 4.19 a vývojovou větev. Pro starší nepodporované verze 4.6–4.16 nejsou v XSA-523 přiloženy opravy.
    vencour | Komentářů: 1
    včera 16:55 | Nová verze

    Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).

    ʚĭɞ 🍉 | Komentářů: 0
    včera 12:22 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 12:11 | Nová verze

    Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána verze R14.1.7 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 4
    včera 00:33 | Nová verze

    Bazzite (Wikipedie), tj. linuxová distribuce vycházející z Fedora Linuxu a optimalizována pro hraní počítačových her, byla vydána ve verzi 45. S Open Gaming Collective (OGC) jádrem a novým Easy Anti-Cheatem pro Linux (EAC Linux v2).

    Ladislav Hagara | Komentářů: 0
    4.11. 22:11 | Bezpečnostní upozornění

    MikroTik zveřejnil vlastní bezpečnostní upozornění potvrzující, že zranitelnost linuxového jádra postihuje také RouterOS 7. Jde o use-after-free při zpracování IPv4 TCP spojení s IP options. Zranitelnost se týká provozu směřujícího na TCP službu samotného routeru, nikoli paketů, které router pouze přeposílá. Opraveno v long-term od 7.24.6, v stable od 7.25.1 a devel od 7.26beta5.

    vencour | Komentářů: 1
    4.11. 17:00 | Bezpečnostní upozornění

    Ve správci balíčků APT, používaném v Debianu a odvozených distribucích, byla nalezena a opravena kritická zranitelnost CVE-2026-109518. Vzdálený útočník může obejít ověření stažených balíčků pomocí přesměrování a dočasných chyb HTTP serveru.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2984 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: C, nebo C++ a fork

    26.3.2007 20:00 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    C, nebo C++ a fork
    Přečteno: 2463×
    Nevíte někdo jak vytvořit v C/C++ fork tak, aby jeden rodič měl dva potomky? Zkouším to na něčem jako toto:
    #include <stdio.h>
    #include <sys/types.h>
    #include <unistd.h>
    #include <sys/wait.h>
    
    
    int main() {
            int roura[2];
            pipe(roura);
            int pid=fork();
    
            if(pid != 0) { // rodic
                    close(roura[0]);
                    int a = 10;
                    write(roura[1],&a,sizeof(a));
    //              close(roura[1]);
                    printf("PID rodice: %d\n", getpid());
                    printf("Potomek: %d\n", pid);
                    int pid1=fork();
                    if (pid1 == 0) {
                            int b = 312;
                            write(roura[1],&b,sizeof(b));
                            close(roura[1]);
                            printf("Potomek2-PID rodice: %d\n", getpid());
                            printf("Potomek2-Potomek: %d\n", pid);
                    }
            } else { // potomek
                    close(roura[1]);
                    int a1, b1;
                    read(roura[0],&a1,sizeof(a1));
                    read(roura[0],&b1,sizeof(b1));
                    close(roura[1]);
                    printf("PID potomka: %d\n", getpid());
                    printf("Potomek: %d\n", pid);
                    printf("Soucet císel z roury je %d\n", a1 + b1);
            }
            return 0;
    }
    
    Roury mi fungují, ale nějak mi nesouhlasí PIDY:
    PID rodice: 11731
    Potomek: 11732
    Potomek2-PID rodice: 11733
    Potomek2-Potomek: 11732
    PID potomka: 11732
    Potomek: 0
    Soucet císel z roury je 322
    
    To vypadá jako by měl jeden potomek více rodičů?! Jak to má být správně?

    Odpovědi

    Luboš Doležel (Doli) avatar 26.3.2007 20:55 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: C, nebo C++ a fork
    Máte tam řádný bordel v proměnných, v té větvi s pid1 používáte pid. A navíc v té větvi máte blbě podmínku (pid1 == 0).
    26.3.2007 21:04 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: C, nebo C++ a fork
    Výsledek přesně odpovídá tomu, co jste naprogramoval. První tučný řádek vám ukáže PID původního procesu, druhý tučný řádek PID druhého potomka.

    Založit nové vlákno • Nahoru

    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.