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ářů: 5
    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ářů: 6
    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%)
     (25%)
    Celkem 2051 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Perl skript jako daemon

    10.4.2009 09:26 hates | skóre: 30 | blog: Jak_jsem_se_dostal_k_linuxu
    Perl skript jako daemon
    Přečteno: 619×

    Zdravim. mam takovy problem je vubec mozne a popripade jak to zaridit aby mi perl skript cekal jako daemon a cetl data z pojmenovane roury ? Jde mi o to aby vse co spadne z jedne strany do roury z druhe strany vpadlo do toho skriptu a ten si tenhle vstup precte a zpracuje a bude cekat na dalsi vstup. Jak vyresit tenhle skript. hledam, ale nemuzu nic najit. asi hledam spatne. Prosim o nakopnuti. Diky za radu.

    Odpovědi

    10.4.2009 09:34 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Perl skript jako daemon

    Pokud by místo pojmenované roury mohl být síťový port, lze využít klasický inet démon. Tvůj skript jen čte ze stdin a zapisuje na stdout, spouštění skriptu a předávání dat již zařizuje inet démon, viz man inetd. Dělal jsem takto i služby ve windows na cygwinu :)

    10.4.2009 09:55 hates | skóre: 30 | blog: Jak_jsem_se_dostal_k_linuxu
    Rozbalit Rozbalit vše Re: Perl skript jako daemon

    sitovy daemon  nelze pouzit. to bych neresil potom touhle berlickou.

     

    10.4.2009 10:00 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Perl skript jako daemon

    Pokud jde o to, aby ten skript běžel jen jednou (např. si udržuje nějaké globální proměnné), pak by přeci mělo stačit číst v perlu ze stdin, zapisovat na stdout a spustit s přesměrování vstupu/výstupu z/do pipy. Možná jsem to nepochopil, ale trochu nevidím ten problém.

    10.4.2009 10:13 hates | skóre: 30 | blog: Jak_jsem_se_dostal_k_linuxu
    Rozbalit Rozbalit vše Re: Perl skript jako daemon

    jde o to aby ten skript bezel neustale a cekal na dalsi a dalsi vstupy. funguje to asi takhle

     

    program loguje do pipe -----------> pojmenovana roura ----------------------> skript, ktery posloucha a zpracovava vstupy, ktere padaji do roury
    10.4.2009 10:18 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Perl skript jako daemon

    Když bude číst v nekonečné smyčce, tak po spuštění bude běžet stále. Když jej budeš spouštět v nekonečné smyčce, po shození zase najede, dokud nezabiješ shell té smyčky.

    10.4.2009 10:36 hates | skóre: 30 | blog: Jak_jsem_se_dostal_k_linuxu
    Rozbalit Rozbalit vše Re: Perl skript jako daemon

    tohle jsem uz poresil, ale jak by asi mel vypadat radek v perlu, ktery si prijme ten vstup pokud jej ctu ze STDIN tak mi to nic nepise

     

    skript vypada asi takhle

     

    #!/usr/bin/perl -w my $FILE    = '/var/log/pokus.log'; 
    open(LOG, ">>$FILE");

    while() {
        $vstup = <STDIN>;
        print LOG "$vstup\n";
    } close LOG;

     a spoustim jej takhle

     ./skript.pl < pojmenovana_roura

    Nicmene pokud do roury dopadnou nejake vstupy do souboru pokus.log se mi nic nezapise. Ale kdyz pouziji prikaz cat pojmenovana_roura, tak se mi data z ni zobrazuji na STDOUT. Delam nekde chybu ?

    10.4.2009 13:53 ams
    Rozbalit Rozbalit vše Re: Perl skript jako daemon

    #!/usr/bin/perl
    use warnings;
    use strict;

    my $FILE = '/var/log/pokus.log';
    open(my $LOG, ">>$FILE") or die "Cannot open $FILE: $!";
    select((select($LOG),$|=1)[0]);  # Toto je dulezity radek - vypnout bufrovani vystupu

    while() {
            my $vstup = <>;
            next unless defined $vstup;
            print $LOG $vstup;
    }

    close $LOG;

    10.4.2009 14:26 hates | skóre: 30 | blog: Jak_jsem_se_dostal_k_linuxu
    Rozbalit Rozbalit vše Re: Perl skript jako daemon

    super to bylo presne ono. diky za namet. se zbytkem si jiz poradim.

    10.4.2009 16:33 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Perl skript jako daemon
    Klasický problém s bufferováním. Ono se to tam zapisuje, ale uvidíte to až po 4k balíku nebo tak nějak.

    Tím odporným selectem se to řešilo možná před 10 lety. Moderněji by to bylo takto:
    open(my $log, '>>', $FILE);
    $log->autoflush(0);
    

    ...a pak všude používat $log místo LOG

    Pak máte další problém s tím nekonečným cyklem. Pokud skončí zapisující proces, budete dostávat EOF, a Váš skript se zacyklí na 100% CPU. Buď chcete v tom případě program ukončit, nebo čekat na další vstupy, ale s nějakou prodlevou, abyste nežral CPU (nevím, jestli se nemusí v tomto případě roura zavřít a znovu otevřít).

    Jinak dotaz se jmenuje perl skript jako daemon, chcete tedy aby se program choval jako démon, tj. běžel bez terminálu a na pozadí?
    In Ada the typical infinite loop would normally be terminated by detonation.
    11.4.2009 06:56 hates | skóre: 30 | blog: Jak_jsem_se_dostal_k_linuxu
    Rozbalit Rozbalit vše Re: Perl skript jako daemon

    presne tak jedna se mi o to aby bezel na pozadi a pouze zpracovaval data, ktera protecou rourou

     

    11.4.2009 07:19 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Perl skript jako daemon
    Tak na pozadí ho můžete dát několika způsoby:

    1) nohup

    2) /etc/inittab

    3) implementace démonizace ve skriptu - fork, setsid, chroot, setuid, ...
    In Ada the typical infinite loop would normally be terminated by detonation.
    11.4.2009 09:18 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Perl skript jako daemon

    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.