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ářů: 1
    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ářů: 0
    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ářů: 0
    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: Perl odchytavanie vystupu pomocou open z programu

    29.3.2010 16:51 miso
    Perl odchytavanie vystupu pomocou open z programu
    Přečteno: 343×
    Ahojte,
    potreboval by som poradit s jednou drobnostou lebo neviem z dokumentacie zistit kde robim chybu.

    Mam jednoduchy perlovy skript ktory pomocou open spusti externy program a odchytava z neho vystup ktory parsuje a zapisuje do logu.
    open PARSER, "/usr/sbin/program |" or die "Error\n";
    while (PARSER) { # PARSER je v hranatych zatvorkach len mi to nepovolilo odoslat
    ++$i;
    # tu nasleduje spracovanie prichadzajuceho vystupu
    }
    Funguje to presne tak ako potrebujem lenze ten perlovy skript je spraveny na to aby bol spusteny z udev daemonu a bezal na pozadi. A vtedy nastane ten problem ze skript sa spusti, v procesoch ho vidim ale z spusteneho programu vtedy nedokaze zachytit ziadny vystup.
    Vie mi niekto poradit kde robim chybu? dakujem

    Odpovědi

    29.3.2010 19:46 Xerces
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    Ahoj, a co znamená to .... ze spusteneho programu vtedy nedokaze zachytit ziadny vystup .... Jak to zachytavas? Respektive naznac co mas v tom cyklu. Zapis do jineho souboru?

    P.S. Hranaty zavorky myslis, < > nebo []?
    29.3.2010 20:15 miso
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    Je tam regulerny vyraz ktory este ten vystup rozkuskuje. Vystup bere z premennej $_
    Samozrejme som myslel < >, takze nie hranate :)
    29.3.2010 20:32 Xerces
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    Ok. Kdyz to rozparsujes, tak to ukladas do souboru nebo vypisujes na STDOUT? Ptam se takhle blbe proto, ze prave vypis na STDOUT by mohl být, v pripade sousteni na pozadi, nebo obecne jakkoliv, kdyz nejsi pripojen k tty, problematicky.
    30.3.2010 09:05 miso
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    Vsetko ide do suboru
    29.3.2010 20:41 Xerces
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    Jeste dotaz. Kdyz jsi to spoustel normalne z konzoli, tak ti to fungovalo skutecne s tim /usr/sbin/program? V /usr/sbin byvaji vetsinou programy typu daemon, ktery se samy o sobe spousteji na pozadi a detachujou se od konzole. U nekterych tomu lze parametrem zabranit. Ja jen, ze mi prijde, ze se snazis udelat nejaky wrapper na daemona.
    30.3.2010 09:16 miso
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    Nechcel som to zbytocne komplikovat tak som nepisal konkretny program. Spusta sa jpnevulator.
    Je umiestneny v /usr/bin/, predtym som tam mal vlastny skript ktory som daval do /usr/sbin preto ta nepresnost.
    Je to serial sniffer ktory mi na obrazovku hadze komunikaciu z USB/Serial prevodniku, zobrazuje jednoduchu komunikaciu v hex a ja odlisujem podla toho regulerneho vyrazu tri druhy informacii. Tie potom zapisem do suboru.
    Tento program dokaze zapisovat aj do suboru, povodne som to chcel citat z toho suboru ale takto sa mi to zdalo vyhodnejsie kedze pokial dojde k ukonceniu jpnevulator skonci aj ten perl skript.
    Ako som spominal, pokial ten perl skript pustim z bashu tak sa mi to do suboru zapise, pokial ho spusti udev daemon tak ziadna komunikacia z jpnevulator neprechadza. V procesoch vidim ze bezi, do logu sa mi zapise ze sa ten perl skript spustil ale ziadny vystup z jpnevulatoru neprejde.
    30.3.2010 09:41 Xerces
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    Jak to spouštíš z toho udevu? Problém bude spíš tu než v Perl kodu.
    30.3.2010 13:29 miso
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    ACTION=="add", SUBSYSTEM=="usb" ATTRS{interface}=="USB-Serial", RUN+="/usr/bin/perl /usr/bin/skript.pl" Ten skript sa ale spusti, presne vtedy kedy ma. Mal by som pouzit nejaky parameter navyse?
    30.3.2010 15:30 Xerces
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    Zkus použít udevadm test a nasimulovat to připojení na USB. Bohužel v udev se moc neorientuji, předpokládal jsem že to bude problém někde v Perlu. :-(
    30.3.2010 16:31 miso
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    Aj tak dakujem za snahu. Naozaj bude problem asi v udev kedze som to teraz skusal spustit cez cron a vsetko funguje. Idem hladat dalej :)
    29.3.2010 20:04 Xerces
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    Jinak díval jsem se teď do svýho skriptíku, ve kterém taky spouštím soubor na pozadí a jeho výstup zachytávám do souboru a mám to takhle ....
    open PARDER, "-|", "/usr/sbin/program" or die "Error";
    while (my $radek = <PARSER>) {
    
    }
    
    29.3.2010 20:45 Xerces
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    Napsal jsem to nepresne. V mem prikladu je /usr/sbin/program obycejny program (nikoliv daemon), ktery normalne chvilku neco vypisuje a pak skonci. Ja ten vystup zachytavam, parsuju a vysledek ukladam do souboru. Toto vse pak poustim na pozadi pomocí cronu.
    30.3.2010 09:21 miso
    Rozbalit Rozbalit vše Re: Perl odchytavanie vystupu pomocou open z programu
    ako som teraz pisal hore tak ten program ktory spustam tiez nieje daemon. S tym rozdielom ze neskonci sam, bezi az pokial ten proces neukoncim sam.

    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.