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 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

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

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 15
    včera 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 16
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 11
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    11.7. 00:11 | Nová verze

    Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

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

    Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 4
    10.7. 15:22 | Nová verze

    Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.

    Ladislav Hagara | Komentářů: 12
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 393 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    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: 538×

    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.