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 17:11 | Komunita

Byl proveden bezpečnostní audit svobodného IMAP a POP3 serveru Dovecot (Wikipedie). Audit byl zaplacen z programu Mozilla Secure Open Source a provedla jej společnost Cure53. Společnost Cure53 byla velice spokojena s kvalitou zdrojových kódu. V závěrečné zprávě (pdf) jsou zmíněny pouze 3 drobné a v upstreamu již opravené bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
dnes 15:30 | IT novinky

Nadace Raspberry Pi představila na svém blogu Raspberry Pi Compute Module 3 (CM3 a CM3L), tj. zmenšené Raspberry Pi vhodné nejenom pro průmyslové využití. Jedná se o nástupce Raspberry Pi Compute Module (CM1) představeného v dubnu 2014. Nový CM3 vychází z Raspberry Pi 3 a má tedy dvakrát více paměti a desetkrát větší výkon než CM1. Verze CM3L (Lite) je dodávána bez 4 GB eMMC flash paměti. Uživatel si může připojit svou vlastní. Představena byla

… více »
Ladislav Hagara | Komentářů: 0
dnes 01:23 | Nová verze

Oficiálně bylo oznámeno vydání verze 3.0 multiplatformního balíku svobodných kancelářských a grafických aplikací Calligra (Wikipedie). Větev 3 je postavena na KDE Frameworks 5 a Qt 5. Krita se osamostatnila. Z balíku byly dále odstraněny aplikace Author, Brainstorm, Flow a Stage. U Flow a Stage se předpokládá jejich návrat v některé z budoucích verzí Calligry.

Ladislav Hagara | Komentářů: 3
včera 15:25 | Nová verze

Bylo oznámeno vydání první RC (release candidate) verze instalátoru pro Debian 9 s kódovým názvem Stretch. Odloženo bylo sloučení /usr jako výchozí nastavení v debootstrap. Vydán byl také Debian 8.7, tj. sedmá opravná verze Debianu 8 s kódovým názvem Jessie.

Ladislav Hagara | Komentářů: 6
včera 13:37 | Zajímavý projekt

1. ledna byl představen projekt Liri (GitHub). Jedná se o spojení projektů Hawaii, Papyros a původního projektu Liri s cílem vyvíjet operační systém (linuxovou distribuci) a aplikace s moderním designem a funkcemi. Včera byl představen Fluid 0.9.0 a také Vibe 0.9.0. Jedná se o toolkit a knihovnu pro vývoj multiplatformních a responzivních aplikací podporující Material Design (Wikipedie) a volitelně také Microsoft Design Language (designový jazyk Microsoft) [reddit].

Ladislav Hagara | Komentářů: 5
14.1. 00:33 | Zajímavý software

Google na svém blogu věnovaném open source představil knihovnu pro komprimaci a dekomprimaci 3D grafiky s názvem Draco. Knihovna bude využívána například v aplikacích pro virtuální a rozšířenou realitu. Porovnání Draco s gzip na YouTube. Zdrojové kódy Draco jsou k dispozici na GitHubu pod licencí Apache 2.0.

Ladislav Hagara | Komentářů: 5
13.1. 17:27 | IT novinky

V loňském roce proběhla úspěšná kampaň na Indiegogo na podporu GPD Win. Jedná se o malý 5,5 palcový notebook a přenosnou herní konzoli v jednom. Předinstalované Windows 10 lze nahradit Linuxem. V únoru by se na Indiegogo měla objevit kampaň na podporu 7 palcového notebooku GPD Pocket.

Ladislav Hagara | Komentářů: 28
13.1. 02:00 | Nová verze

Po pěti měsících od vydání verze 1.0.0 (zprávička) byla vydána verze 2.0.0 frameworku Kirigami (HIG) pro vytváření uživatelských rozhraní mobilních a konvergentních aplikací nad toolkitem Qt. Pro vyzkoušení je určena aplikace pro Android Kirigami gallery.

Ladislav Hagara | Komentářů: 0
12.1. 23:28 | Zajímavý software

Akční hra Lugaru HD od Wolfire Games (recenze) byla uvolněna jako svobodný software, a to včetně dat (pod licencí Creative Commons Attribution – Share Alike). Linuxový port byl v roce 2010 součástí první akce Humble Indie Bundle a engine byl krátce poté uvolněn pod licencí GNU GPL, což vedlo mj. k portu na AmigaOS. Autor mezitím pracuje na pokračování nazvaném Overgrowth.

Fluttershy, yay! | Komentářů: 0
12.1. 14:49 | Bezpečnostní upozornění

Na serveru Jabb.im bylo zveřejněno vyjádření k úniku dat z Jabbim Archive (pastebin). Dump databáze obsahuje komunikaci uživatelů, jejich IP adresy a logy aplikace od října 2015 do března 2016. Celkově se jedná o 8 GB dat, převažujícím jazykem zpráv je čeština a slovenština. O úniku informoval jako první server Motherboard. Jabbim Archive byla službou volitelnou, dostupnou pouze pro VIP uživatele. Podle provozovatele serveru Jabb.im k

… více »
Michal Makovec | Komentářů: 68
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (75%)
 (3%)
 (10%)
Celkem 293 hlasů
 Komentářů: 19, poslední 13.1. 22:02
    Rozcestník
    Reklama
    Štítky: není přiřazen žádný štítek

    Dotaz: Ako dostat vystup prikazu do programu

    22.12.2008 17:45 xsustek | skóre: 6
    Ako dostat vystup prikazu do programu
    Přečteno: 202×

    Toto je asi lahka otazka, ale nejak ma nenapada ako spratit tuto vec.

     

    Z programu pisaneho v cecku, potrebujem spustit externy prikaz a dostat jeho vystup (text) spat do programu.

     

    Nenapada niekoho ako by som to mohol urobit? K mojemu prekvapeniu som zistil ze funkciu system () na to pouzit nemozem, lebo ta len vracia navratovu hodnutu.

     

    Dik.

    Odpovědi

    22.12.2008 17:51 rastos | skóre: 60 | blog: rastos
    Rozbalit Rozbalit vše Re: Ako dostat vystup prikazu do programu
    man pipe
    22.12.2008 17:56 xsustek | skóre: 6
    Rozbalit Rozbalit vše Re: Ako dostat vystup prikazu do programu

    OK ale kam to mam redirectnut?

    Ide o to ze program bude stusteny napr aj hodinu. A taketo prikazy bude spustat a spracovavat ich vystupy. Potrebujem nieco ako funkciu system s tym rozdielom ze mi na miesto navratovej hodnoty vrati retazec v ktorom bude vystup programu. Nenamada ma ako by sa toto dalo spravit pomocou pipe .

    22.12.2008 18:02 XSimi | skóre: 10
    Rozbalit Rozbalit vše Re: Ako dostat vystup prikazu do programu

    program

    ....cout<<"neco";.....

    program|cat ??

    man pipe

    22.12.2008 18:32 xsustek | skóre: 6
    Rozbalit Rozbalit vše Re: Ako dostat vystup prikazu do programu

    OK, rozumiem. Este si chcem overit ci to pojde takto :

     

    //vytvorim pipe s dvoma descriptormi

    FILE * pipedescr [2]; pipe (pipedescr);

    //potom

    sprintf(command,"command  &%d",(int)pipedescr[1]);

    system(command);
     

    //potom citam.

    fgets ();

     

    toto mi vracia

    sh: Syntax error: "&" unexpected

     

    ako mam predat ten desktriptor tomu spustanemu programu?

     

     

     

     

     

    22.12.2008 19:16 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Ako dostat vystup prikazu do programu
    ten "&" udelate pomoci funkce fork, ktera vas proces rozdvoji a v jednom podprocesu napojite trubku pres dup2 na out a pomoci execve nebo podobne (ne system!!) spustite pozadovany program. v druhem procesu pak muzete z trubky cist.

    cely tenhle cirkus si ale muzete ve vetsine pripadu usetrit pokud pouzijete funkci popen.
    In Ada the typical infinite loop would normally be terminated by detonation.
    22.12.2008 19:33 xsustek | skóre: 6
    Rozbalit Rozbalit vše Re: Ako dostat vystup prikazu do programu

    Jasne, mam to.

    Presne taketo nieco som hladal. Jedna fukcia a hotovo.

     

    Dik

    22.12.2008 18:26 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: Ako dostat vystup prikazu do programu
    zkracene asi takto:

    int pipe(int pipefd[2]); vytvori pipefd[0] pro cteni a pipefd[1] pro zapis

    pak udelas fork()

    v potomkovi pomoci int dup2(int oldfd, int newfd); udelas kopii pipefd[1](oldfd) do stdout(newfd) a pres exec*() spustis program

    v rodici pak ctes z pipefd[0] co potomek posila na stdout - ktery je ale "presmerovany" do pipefd[1]

    konkretni reseni se da najit googlem za pouziti vyse uvedenych klicovych slov

    22.12.2008 18:45 xsustek | skóre: 6
    Rozbalit Rozbalit vše Re: Ako dostat vystup prikazu do programu

    Diky za odpoved. Idem to vyskusat.

    22.12.2008 18:49 xsustek | skóre: 6
    Rozbalit Rozbalit vše Re: Ako dostat vystup prikazu do programu

    Este sa chcem opytat, ze ked potomok skonci? Zatvori sa rura sama? Resp. Ako rodic zisti, ze do rury uz nikto zapisovat nebude. Bude tam EOF alebo nieco take?

    22.12.2008 19:25 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Ako dostat vystup prikazu do programu
    pokud vam umre potomek, do ktereho se pokousite psat, skonci vam prislusna operace s chybou EPIPE (broken pipe). zaroven se vam do programu dostavi signal SIGPIPE. ten musite odchytit a zneutralizovat, jinak program chcipne.

    pokud umre potomek ze ktereho chcete cist, dostanete obvykle na cteni EOF (a zadne dalsi nasilnosti se nekonaji).

    v kazdem pripade jste o umrti potomka notifikovan pomoci SIGCHLD. pokud ho neosetrite, nic se nedeje. nicmene jeho exit status si tak ci tak musite nekdy brzy vyzvednout pomoci wait, wait4pid a podobne. nez si exit status vyzvednete, bude potomek v procesech evidovan jako zombie.

    pokud pouzijete funkci popen (viz vyse), ceremonii kolem potomku provede funkce pclose. ten SIGPIPE si ale musite stejne zaridit sam.

    pokud chcete potomka nasilne ukoncit, pouzijte funkci kill. pokud potomek ma tendenci vyrabet dalsi potomky, nastavte mu nejprve process group pomoci setpgid a pak pouzijte kill na celou process group (zaporny parametr).
    In Ada the typical infinite loop would normally be terminated by detonation.
    23.12.2008 08:33 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Ako dostat vystup prikazu do programu
    PS. s tim nasilnym ukoncenim: muze se vam stat dost neprijemna vec - zejmena ve vasem pripade, kdy potrebujete cekat na to co vam program pise na vystup.

    1) vas program pusti potomka a cte z nej vystup

    2) potomek nic nevypisuje (napr. kvuli okolnostem) a vas program stale ceka, nebo dela neco na pozadi

    3) vas program umre, protoze se mu neco spatneho stane, nebo normalne

    4) potomek nic nevypisuje a zustane zit dal [potencialne dost dlouho]

    5) az ve chvili kdy by potomek chtel neco napsat, tak skonci na broken pipe

    proto je dobre explicitne zabit potomka, pokud koncime, a/nebo mit jistotu ze potomek napr. kazdou sekundu neco vypisuje, tudiz relativne brzy umre taky.
    In Ada the typical infinite loop would normally be terminated by detonation.
    22.12.2008 20:19 Semo | skóre: 44 | blog: Semo
    Rozbalit Rozbalit vše Re: Ako dostat vystup prikazu do programu
    man popen

    Riesi fork a presmerovanie za teba. Dostanes filedescriptor z ktoreho si citas, co potrebujes.
    If you hold a Unix shell up to your ear, you can you hear the C.

    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.