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

    Immich byl vydán v nové verzi 3.0.0. Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.

    Ladislav Hagara | Komentářů: 4
    včera 02:55 | IT novinky

    Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).

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

    Podman (Pod Manager), nástroj umožňující vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota, byl vydán v nové major verzi 6.0.0. Přehled novinek v poznámkách k vydání. Řešena je i vážná bezpečnostní chyba CVE-2026-57231.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | IT novinky

    Společnost Sony oznámila, že od ledna 2028 přestane vydávat nové hry pro PlayStation na fyzických discích. Všechny budoucí tituly budou dostupné výhradně v digitální podobě na PlayStation Store.

    Ladislav Hagara | Komentářů: 4
    2.7. 16:55 | Nová verze

    Google Chrome 150 byl prohlášen za stabilní. Nejnovější stabilní verze 150.0.7871.46 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 433 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    2.7. 13:00 | Nová verze

    Soudní dvůr Evropské unie potvrdil rekordní pokutu 4,125 miliardy eur (100 miliard Kč) americké technologické firmě Google ze skupiny Alphabet. Pokutu firmě v roce 2018 vyměřila Evropská komise (EK) za to, že Google podle ní zneužívá operačního systému Android k potlačení konkurence na trhu vyhledávacích služeb.

    Ladislav Hagara | Komentářů: 17
    2.7. 12:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa povolila firmě Anthropic obnovit plný přístup klientů k modelům umělé inteligence (AI) Fable 5 a Mythos 5. Ty byly nedostupné bezmála tři týdny kvůli bezpečnostním obavám vlády, třebaže americké ministerstvo obchodu minulý pátek povolilo omezený přístup k modelu Mythos 5 pro některé „důvěryhodné“ domácí organizace.

    Ladislav Hagara | Komentářů: 1
    2.7. 12:22 | Zajímavý článek

    Francúzska organizácia na ochranu spotrebiteľa, po viac než ôsmych rokoch skúmania, žaluje Epson za plánované zastarávanie tlačiarní. Súd sa začína dnes, 2. 7. 2026, vo francúzskom Nanterre.

    Vlado99 | Komentářů: 9
    2.7. 03:00 | Zajímavý software

    Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.

    Ladislav Hagara | Komentářů: 0
    2.7. 01:00 | Nová verze

    Byla vydána nová verze 4.0.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (26%)
    Celkem 2049 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: 257×
    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.