abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 14:33 | Zajímavý software

    Ente je open source služba pro ukládání a sdílení fotografií a videí. Alternativa k výchozím aplikacím od Googlu a Applu. V pátek byly uvolněny zdrojové kódy serveru pod licencí AGPL 3.0 [Hacker News].

    Ladislav Hagara | Komentářů: 3
    včera 11:55 | Nová verze

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    2.3. 22:33 | Komunita

    Nintendo žaluje Tropic Haze, tj. společnost zastřešující vývoj open source emulátoru přenosné herní konzole Nintendo Switch yuzu (Wikipedie).

    Ladislav Hagara | Komentářů: 2
    2.3. 13:00 | Nová verze

    Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.1 a Linux From Scratch 12.1 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.39, Binutils 2.42 a Linuxem 6.7.4. Současně bylo oznámeno vydání verze 12.1 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.

    Ladislav Hagara | Komentářů: 0
    1.3. 22:22 | Upozornění

    Google blokuje Chaty RCS (Rich Communication Services neboli rozšířené komunikační služby) na telefonech s rootnutým Androidem nebo odemčeným zavaděčem [9to5Google].

    Ladislav Hagara | Komentářů: 18
    1.3. 12:22 | Komunita

    Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 16. a 17. března v Praze na Karlově náměstí 13. O open source hardwaru bude přednášet Mitch Altman.

    Ladislav Hagara | Komentářů: 1
    1.3. 08:00 | IT novinky

    Počítač NitroPC Pro 2 od společnosti Nitrokey s corebootem Dasharo byl oficiálně certifikován pro Qubes OS verze 4. Qubes OS (Wikipedie) je svobodný a otevřený operační systém zaměřený na bezpečnost desktopu.

    Ladislav Hagara | Komentářů: 1
    1.3. 07:00 | Nová verze

    Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 1.20. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 24
    29.2. 13:00 | IT novinky

    Jednodeskový počítač Raspberry Pi slaví 12 let. Prodej byl spuštěn 29. února 2012 (Wikipedie, 𝕏).

    Ladislav Hagara | Komentářů: 13
    29.2. 12:00 | Nová verze

    Byla vydána verze 3.2 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    Steam
     (33%)
     (28%)
     (6%)
     (9%)
     (25%)
    Celkem 89 hlasů
     Komentářů: 0
    Rozcestník

    Dotaz: Systemd.service - vynucení čekání na inicializaci

    15.6.2016 15:08 ondra
    Systemd.service - vynucení čekání na inicializaci
    Přečteno: 326×
    Ahoj všem,

    v kostce - přemýšlím, jak bych měl definovat službu v systemd tak, aby čekala na inicializaci spuštěné aplikace a teprve poté byly aktivovány další jednotky, které na službě závisí. Příklad: Aplikace se po spuštění procesu nějakou dobu (cca 40 sec) inicializuje a když má hotovo, začne naslouchat na TCP portu a obsluhovat požadavky.

    Pokud aplikaci spustím jako service v systemd, tak ten jí považuje za aktivní v okamžiku, kdy spustí její proces, a dál se o to nezajímá. Ostatní systemd služby, které jsou na ní závislé, těch 40 sekund zbytečně hází chyby.

    Jde mi tedy o to, jak definovat, aby byla jednotka aktivní např. až při dostupnosti portu nebo existenci "ready-flag" souboru, apod.

    Napadají mě jen dvě neelegantní řešení:

    • Do závislých služeb dát "sleep 60" a doufat, že to vyjde (no fuj)
    • Mít jednotku typu systemd.path, která aktivuje další service až při existenci "ready" souboru, který vytvoří aplikace sama nebo nějaký wrapper.

    Napadá někoho, jak toto řešit? :-) V upstart bylo možné emitovat signály, kterými jsem toto vyřešil.

    Díky, Ondra

    Řešení dotazu:


    Odpovědi

    Josef Kufner avatar 15.6.2016 15:14 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Systemd.service - vynucení čekání na inicializaci
    Zkusil bych socket activation. Systemd připraví socket, aplikace se začne chystat. Klienti se připo jí k připravenému socketu a počkají, než se aplikace nachystá.
    Hello world ! Segmentation fault (core dumped)
    15.6.2016 15:36 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Systemd.service - vynucení čekání na inicializaci
    Možností je několik – socket activation, kdy socket vytvoří systemd a aplikaci ho předá už vytvořený. Další možností jsou služby typu dbus nebo notify, které dají systemd vědět, že nastartovaly, přes dbus nebo přes sd_notify.
    15.6.2016 19:21 Ondra
    Rozbalit Rozbalit vše Re: Systemd.service - vynucení čekání na inicializaci
    Díky.. když na to teď koukám, tak sd_notify je přesně to, co hledám. Napíšu malý wrapper, který vrátí PID a bude hlídat stav inicializace a pak o tom dá do systemd vědět.

    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.