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 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 2
    včera 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 1
    14.5. 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 1
    14.5. 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 23
    14.5. 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    14.5. 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    14.5. 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

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

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 12
    13.5. 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1633 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.