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í
×

dnes 17:11 | Komunita

Microsoft s Canonicalem představili linuxové jádro Ubuntu optimalizováno pro cloudové služby Microsoft Azure (linux-azure). Jako výchozí je toto menší a výkonnější jádro použito již v Ubuntu Cloud Images for Ubuntu 16.04 LTS. Canonical zatím nenabízí patchování tohoto jádra za běhu systému (Canonical Livepatch Service).

Ladislav Hagara | Komentářů: 0
dnes 14:55 | Komunita

Facebook oznámil, že přelicencuje open source projekty React, Jest, Flow a Immutable.js ze své vlastní kontroverzní licence BSD+Patents na licenci MIT. Stane se tak tento týden s vydáním Reactu 16. Jedním z důvodů přelicencování bylo oznámení nadace Apache, že software pod Facebook BSD+Patents licencí nesmí být součástí produktů pod touto nadací [Hacker News].

Ladislav Hagara | Komentářů: 0
včera 21:44 | Nová verze

Po půl roce od vydání verze 9.0 byla vydána verze 10.0 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 0
22.9. 18:11 | Nová verze

Společnost Oracle oficiálně oznámila vydání Java SE 9 (JDK 9), Java Platform Enterprise Edition 8 (Java EE 8) a Java EE 8 Software Development Kit (SDK). Java SE 9 přináší více než 150 nových vlastností.

Ladislav Hagara | Komentářů: 0
22.9. 12:11 | Komunita

Na Humble Bundle lze získat hororovou počítačovou hru Outlast (Wikipedie) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 2
22.9. 10:33 | Humor

Mozilla.cz upozorňuje na Knihu Mozilly (Wikipedie), tj. velikonoční vajíčko ve Firefoxu. Zobrazit jej lze zadáním about:mozilla do adresního řádku. Aktuální verze Firefoxu obsahuje proroctví 15:1 "Dvojčata Mamonu se rozhádala a jejich souboje uvrhly svět do nové tmy. Zvířeti se ale tma hnusila. A tak se stalo mrštnější a silnější, šlo vpřed a jeho počty rostly. A zvíře přineslo oheň a světlo do tmy". Firefox 57 bude obsahovat proroctví 11:14. To je zatím jenom v angličtině. Pomoci lze s překladem do češtiny.

Ladislav Hagara | Komentářů: 10
22.9. 01:22 | Zajímavý projekt
Před měsícem byla spuštěna kampaň na podporu chytrého telefonu Librem 5, jenž by měl respektovat bezpečnost, svobodu a soukromí uživatelů. Cílem kampaně je vybrat alespoň milion a půl dolarů. Aktuálně je vybráno přes 600 000 dolarů, tj. 40 %. Kampaň poběží ještě další měsíc. Podporu projektu oznámilo KDE i GNOME.
Ladislav Hagara | Komentářů: 34
22.9. 00:55 | Komunita

Agentura DISA (Defense Information Systems Agency) publikovala (pdf) Ubuntu 16.04 Security Technical Implementation Guide (STIG) (zip), tj. doporučené bezpečnostní nastavení Ubuntu 16.04. Ubuntu se tak dostalo mezi unixové operační systémy a linuxové distribuce AIX, HP-UX, Oracle Linux, Red Hat a Solaris [reddit].

Ladislav Hagara | Komentářů: 2
21.9. 22:55 | Bezpečnostní upozornění

CSIRT.CZ informuje, že byly vydány nové bezpečnostní aktualizace, které opravují několik zranitelných míst v Sambě. Útočník může využít zranitelnosti s cílem získání přístupu k potenciálně citlivých informací. Uživatelům a správcům je doporučeno, aby zkontrolovali bezpečnostní opatření pro CVE-2017-12150, CVE-2017-12151 a CVE-2017-12163 a provedli potřebné aktualizace.

Ladislav Hagara | Komentářů: 0
21.9. 21:44 | Komunita

Společnost Red Hat aktualizovala svůj slib ohledně softwarových patentů. Slib nově zahrnuje i open source software pod permisivními licencemi.

Ladislav Hagara | Komentářů: 0
Těžíte nějakou kryptoměnu?
 (5%)
 (3%)
 (17%)
 (75%)
Celkem 561 hlasů
 Komentářů: 22, poslední 29.8. 11:23
    Rozcestník

    Dotaz: perl - spuštění příkazu na pozadí a callback

    Přemek Vyhnal avatar 16.8.2008 23:39 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
    perl - spuštění příkazu na pozadí a callback
    Přečteno: 498×
    Problém:

    GTK program v perlu. po kliknutí na tlačítko se spustí funkce, které trvá dlouho než skončí a po jejím dokončení se provede nějaká akce.

    Teď to vypadá nějak takthle:
    sub on_button_click{
       &delat_neco_dlouhyho;
       &zobrazit_hotovo;
    }
    sub delat_neco_dlouhyho{
       sleep 20; &posunout_progressbar;
       sleep 20; &posunout_progressbar;
       sleep 20; &posunout_progressbar;
       sleep 20; &posunout_progressbar;
    }
    
    problém je v tom, že hlavní smyčka čeká na dokončení &on_button_click a nepřekresluje mezitím okno (vypadá jako kdyby zamrzlo)

    chtělo by to to &delat_neco_dlouhyho spustit nějak na pozadí aby hlavní smyčka pokračovala, ale aby měl hlavní program možnost nějak zjistit jestli už je to hotový nebo to pořád pracuje. nebo aby zevnitř &delat_neco_dlouhyho šlo posílat něco zpátky do hlavního okna. (např. % průběhu)

    Poradil by mi někdo jak na to? co nastudovat? stačí nějaká klíčová slova a já si to už najdu (nebo se znovu zeptam ;) )

    Předem mnohokrát děkuji!
    NO RAPTORS!

    Odpovědi

    17.8.2008 18:01 qk_
    Rozbalit Rozbalit vše Re: perl - spuštění příkazu na pozadí a callback
    no pokud chces neco takovyho, tak nevim jestli to ma primo gtk, ale v perlu muzes pouzit thready jako v ostatnich jazycich - http://search.cpan.org/~rgarcia/perl-5.10.0/pod/perlthrtut.pod
    17.8.2008 18:02 qk_
    Rozbalit Rozbalit vše Re: perl - spuštění příkazu na pozadí a callback
    tak a jeden priklad s pouzitim primo gtk - http://www.perlmonks.org/?node_id=470661
    Přemek Vyhnal avatar 17.8.2008 23:07 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
    Rozbalit Rozbalit vše Re: perl - spuštění příkazu na pozadí a callback
    diky! prostuduji a vyzkousim ;)
    NO RAPTORS!
    frEon avatar 17.8.2008 21:42 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: perl - spuštění příkazu na pozadí a callback
    Talking about music is like dancing to architecture.
    17.8.2008 21:19 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: perl - spuštění příkazu na pozadí a callback
    bez threadov sa to dá riešiť fork a čakať na SIGCHLD
    Přemek Vyhnal avatar 17.8.2008 23:06 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
    Rozbalit Rozbalit vše Re: perl - spuštění příkazu na pozadí a callback
    diky! ten SIGCHLD by moh bejt to co jsem hledal... s forkem uz jsem se o to nejak pokousel ale moc se nedarilo. zkusim to znova a lip ;)

    jo, a jak na to kdybych chtel aby ten potomek posilal do toho hlavniho okna nejaky informace jako "ted delam to a to", "uz mam hotovo" nebo treba prubeh v procentech? narazil jsem na nejaky IPC::Open2. Je to dobrej napad? ;) neukazal by mi nekdo jak na to nebo co s tim? ;) nechci aby to nekdo programoval cely za me, staci nakopnout spravnym smerem ;)

    moc dik!
    NO RAPTORS!
    18.8.2008 08:47 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: perl - spuštění příkazu na pozadí a callback
    Perl Cookbook, kapitola "Process Management and Communication"
    18.8.2008 08:52 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: perl - spuštění příkazu na pozadí a callback
    k tomu IPC::Open2
    Nápad je to plus/mínus dobrý. Pozrite si k tomu ešte: IO::Poll (resp IO::Select), IO::Pipe ... a príslušné stránky s napr "Advanced UNIX Programming"
    Josef Kufner avatar 24.8.2008 21:05 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: perl - spuštění příkazu na pozadí a callback
    Můžeš rozdělit program (binárku) na frontend a backend (dvě binárky). Backend bude čistě konzolová, neinteraktivní věc a spouštět jí z frontendu pomocí popen(). K zobrazení průběhu bude stačit parsovat co vypisuje na stdout, který frontend dostane stejně jakoby četl soubor (pozor na bufferování). Doporučuju backend spouštět z frontendu s parametrem (např. --backend), který mu řekne, že ho spustil frontend. To aby při samostatném spuštění backendu byl poslušně ticho a ohlašoval jen chyby. Kdežto v při spuštění z frontendu šly chyby a podobné výpisy na stdout místo stderr a v opravdu lehce parsovatelné formě.

    Výhoda: Možnost lehce použít backend bez frontendu někde jinde.

    Nevýhoda: Musíš udělat parser, který ale může být velmi jednoduchý. Backend by měl být trochu víc psaný jako samostatný program.
    Hello world ! Segmentation fault (core dumped)
    25.8.2008 13:46 toba
    Rozbalit Rozbalit vše Re: perl - spuštění příkazu na pozadí a callback
    Přesně takhle to dělám, ale při pársování výstupu musím chtě nechtě použít

    while(Gtk2->events_pending) { Gtk2->main_iteration };

    jinak to GUI nacas zamrzne tak jako tak. Vlakna se mi libi ale ne vsechna distra maji perl zkompilovany s jejich podporou.
    Josef Kufner avatar 26.8.2008 00:42 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: perl - spuštění příkazu na pozadí a callback
    Gtk main loop umí obsluhovat události na file descriptorech. Takže ti pak přímo gtk volá callback, když přijdou data. Kuk sem
    Hello world ! Segmentation fault (core dumped)

    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.