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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 0
včera 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 16
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 2
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 767 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

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: 458×

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