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í
×
    včera 15:11 | IT novinky

    Evropská komise naléhavě vyzvala členské státy EU, aby kvůli ochraně nezletilých na internetu urychlily zavádění unijní aplikace pro ověřování věku a zajistily její dostupnost do konce roku. Členské státy mohou zavést aplikaci EU pro ověřování věku jako samostatnou aplikaci nebo ji integrovat do takzvané evropské peněženky digitální identity.

    Ladislav Hagara | Komentářů: 2
    30.4. 23:33 | Nová verze

    Richard Biener oznámil vydání verze 16.1 (16.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 16. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    30.4. 23:11 | Nová verze

    Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 12.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    30.4. 12:11 | IT novinky

    Před 30 lety, tj. v úterý 30. dubna 1996, byl spuštěn Seznam.cz.

    Ladislav Hagara | Komentářů: 15
    30.4. 11:44 | Komunita

    Byly zpracovány a zveřejněny všechny videozáznamy, které stojí za zveřejnění, z konference FOSDEM 2026.

    Ladislav Hagara | Komentářů: 0
    30.4. 01:11 | IT novinky

    Od úterý 28. dubna musí nově uváděné notebooky v Evropské unii podporovat nabíjení přes USB-C. Jednotná nabíječka byla schválena Evropským parlamentem v říjnu 2022.

    Ladislav Hagara | Komentářů: 57
    29.4. 23:44 | Bezpečnostní upozornění

    Byly publikovány informace o kritické zranitelnosti CVE-2026-31431 pojmenované Copy Fail v Linuxu, konkrétně v kryptografii (AF_ALG). Běžný uživatel může získat práva roota (lokální eskalaci práv). Na všech distribucích Linuxu vydaných od roku 2017. Pomocí 732bajtového skriptu. V upstreamu je již opraveno. Zranitelnost byla nalezena pomocí AI Xint Code.

    Ladislav Hagara | Komentářů: 4
    29.4. 17:44 | Nová verze

    Textový editor Zed dospěl do verze 1.0. Představení v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    29.4. 04:44 | Komunita

    Vývojáři svobodného 3D softwaru Blender představili (𝕏, Mastodon, Bluesky) nejnovějšího firemního sponzora Blenderu. Je ním společnost Anthropic stojící za AI Claude a úroveň sponzoringu je Patron, tj. minimálně 240 tisíc eur ročně. Anthropic oznámil sponzorství v tiskové zprávě Claude for Creative Work.

    Ladislav Hagara | Komentářů: 7
    29.4. 03:55 | Nová verze

    VNC server wayvnc pro Wayland kompozitory postavené nad wlroots - ne GNOME, KDE nebo Weston - byl vydán ve verzi 0.10.0. Vydána byla také verze 1.0.0 související knihovny neatvnc.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1469 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Implementace roury v C

    4.2.2005 10:17 zn30 | Brno
    Implementace roury v C
    Přečteno: 238×
    Dobrý den, snažím se realizovat v C následující příkaz bashe: ls -al | more. Vycházím z tohoto materiálu: http://osa.dcs.elf.stuba.sk/os/tutorial_c/, našel jsem jej tady v diskuzi. Stále mi to nefunguje (překlad proběhne bez chyb, po spuštění program zůstane viset a nereaguje na nic (kromě ctrl-c)). Kde dělám chybu? Děkuji dopředu.

    Kód:
    int main ()
    {
      int fds[2];
      pid_t pid;
      pid_t pid2;
      
      pipe (fds);
      
      pid = fork ();
      if (pid == (pid_t) 0) 
       {
        close (1);
        dup (fds[1]);
        execlp ("ls", "ls","-al","/usr/include", 0);
       }
      else 
       {
        waitpid (pid, NULL, 0);
        
        pid2=fork();
         
        if (pid2 == (pid_t) 0) 
         {
           close (0);
           dup (fds[0]);
           execlp ("more","more", 0);
         }
        else 
         {waitpid (pid2, NULL, 0);}
       }
      return 0;
    }
    

    Odpovědi

    4.2.2005 11:04 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: Implemtace roury v C
    18 řádek, waitpid() navíc (to ls samozřejmě nekončí, dokud si ty data někdo -- ten more -- nepřečte)
    4.2.2005 11:34 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Implemtace roury v C
    A ten more neskončí, pokud fds[1] budou mít 2-3 procesy otevřený... ;-)
    4.2.2005 11:43 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Implemtace roury v C
    #include <sys/types.h>
    #include <unistd.h>
    #include <sys/wait.h>
    
    
    int main ()
    {
      int fds[2];
      pid_t pid;
      pid_t pid2;
      
      pipe (fds);
      
      pid = fork ();
      if (pid == (pid_t) 0) 
       {
        close (1);
        dup (fds[1]);
        close (fds[0]);
        close (fds[1]);
        execlp ("ls", "ls","-al","/usr/include", 0);
       }
      else 
       {
        pid2=fork();
         
        if (pid2 == (pid_t) 0) 
         {
           close (0);
           dup (fds[0]);
           close (fds[0]);
           close (fds[1]);
           execlp ("more","more", 0);
         }
        else 
         {
          close (fds[0]);
          close (fds[1]);
          /* FIXME */
          wait (NULL);
          wait (NULL);
         }
       }
      return 0;
    }
    
    +-, moc jsem to nezkoumal.
    4.2.2005 12:00 zn30 | Brno
    Rozbalit Rozbalit vše Re: Implementace roury v C
    Díky moc, už mi to funguje. (Já tam ty "close(fds[x]" různě zkoušel umisťovat, ale dělal jsem to blbě)

    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.