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

Byly zveřejněny videozáznamy přednášek z Fedora 26 Release Party konané 10. srpna v Praze.

Ladislav Hagara | Komentářů: 0
včera 15:33 | Komunita

Přesně před čtyřiadvaceti lety, 16. srpna 1993, oznámil Ian Murdock vydání "Debian Linux Release".

Ladislav Hagara | Komentářů: 4
včera 06:00 | Bezpečnostní upozornění

Ve virtualizačním softwaru Xen bylo nalezeno a opraveno 5 bezpečnostních chyb XSA-226 až XSA-230. Nejzávažnější z nich XSA-227 (CVE-2017-12137) umožňuje eskalaci privilegií a ovládnutí celého systému, tj. správce hostovaného systému se může stát správcem hostitelského systému.

Ladislav Hagara | Komentářů: 1
15.8. 22:00 | Zajímavý projekt

V roce 2013 proběhla na Kickstarteru úspěšná kampaň na podporu otevřeného Dobře temperovaného klavíru (Well-Tempered Clavier). Stejný tým s Kimiko Išizaka spustil před týdnem na Kickstarteru kampaň Libre Art of the Fugue na podporu svobodného Umění fugy.

Ladislav Hagara | Komentářů: 2
15.8. 13:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 143. brněnský sraz, který proběhne v pátek 18. srpna od 18:00 hodin ve sportovním areálu a restauraci BeachPub Sokolák u Brněnské přehrady aneb v hantecu u Prýglu.

Ladislav Hagara | Komentářů: 0
15.8. 10:55 | Nová verze

Byla vydána (pdf) verze 3 průběžně aktualizované (rolling release) linuxové distribuce Solus (Wikipedie). Ke stažení je v edicích Budgie, GNOME a MATE. Z novinek lze zmínit například podporu snapů. Solus 3 obsahuje Firefox 55.0.1, LibreOffice 5.4.0.3, Rhythmbox 3.4.1 nebo Thunderbird 52.2.1. Edice Budgie a GNOME přichází s GNOME MPV 0.12. Edice MATE s VLC 2.2.6.

Ladislav Hagara | Komentářů: 5
14.8. 21:44 | Nová verze

Po více než roce vývoje od vydání verze 1.0 Microsoft oznámil vydání verze 2.0 platformy .NET Core (GitHub). Přehled novinek v poznámkách k vydání a ve videu na Channel 9.

Ladislav Hagara | Komentářů: 0
14.8. 21:11 | Pozvánky

Před dvaceti lety, 15. srpna 1997, poslal Miguel de Icaza do diskusního listu GTK+ email, který je považován za zahájení projektu GNOME. Linux Desktop Meetup pořádá oslavu ve středu 16. srpna od 19:00 v brněnském Charlie's square.

Ladislav Hagara | Komentářů: 20
14.8. 11:55 | IT novinky
Na šampionátu The International 2017 byl představen bot, který poráží profesionální hráče počítačové hry Dota 2. Bot zatím umí jenom zápasy 1v1. Vývojáři pracují na podpoře 5v5. Jedná se o společný projekt organizace OpenAI a společnosti Valve. Více na stránkách OpenAI a na YouTube. Dle Elona Muska je elektronický sport mnohem komplexnější než šachy nebo go [Hacker News].
Ladislav Hagara | Komentářů: 14
14.8. 05:55 | Nová verze

Byla vydána verze 20.0 a krátce na to opravná verze 20.0.1 svobodného softwaru OBS Studio (Open Broadcaster Software, Wikipedie) určeného pro streamování a nahrávání obrazovky počítače. Přehled novinek i s náhledy a animovanými gify v příspěvku na blogu.

Ladislav Hagara | Komentářů: 0
Těžíte nějakou kryptoměnu?
 (4%)
 (2%)
 (17%)
 (77%)
Celkem 340 hlasů
 Komentářů: 21, poslední 13.8. 09:57
    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: 468×

    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: 61 | 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: 61 | 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: 61 | 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.