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 18:33 | Nová verze

    Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 18:22 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    25.3. 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 28
    25.3. 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 11
    24.3. 11:11 | Zajímavý projekt

    Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.

    Ladislav Hagara | Komentářů: 0
    24.3. 09:11 | Bezpečnostní upozornění

    GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.

    Ladislav Hagara | Komentářů: 0
    24.3. 08:55 | IT novinky

    Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).

    Ladislav Hagara | Komentářů: 0
    23.3. 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 327 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník


    Dotaz: Bash a předání hodnoty procesu běžícímu na pozadí

    Zdeněk Zámečník avatar 7.4.2009 19:30 Zdeněk Zámečník | skóre: 26
    Bash a předání hodnoty procesu běžícímu na pozadí
    Přečteno: 288×

    Dokázal by mi někdo poradit, jak předat nějakou krátkou informaci skriptu v bashi, který běží na pozadí? Nutno podotknout, že skript běží ve smyčce, takže použití pojmenované roury je nemožné, protože by mi skript zastavoval.

    Prvotní myšlenka komunikace přes soubor se mi moc nelíbí, komu by se taky líbilo neustálé zapisování a čtení na disk. Je nějaká možnost, jak vytvořit něco jako soubor přímo v operační paměti? Našel jsem nějakou zmínku o /dev/shm, ale nechce se mi moc věřit, že můžu přímo sem zapisovat jako by se nechumelilo.

    Jako další možnost jsem viděl unix sockety, z toho, co jsem ale dohledal, odhaduji, že s nimi přímo bash pracovat neumí...

    Předem díky za jakékoliv popostrčení.


    Řešení dotazu:


    Odpovědi

    7.4.2009 20:33 Johny666 | skóre: 4 | blog: johnuv_blog
    Rozbalit Rozbalit vše Re: Bash a předání hodnoty procesu běžícímu na pozadí

     A nestacilo by zachyceni signalu. A jen v tom pripade si nacist data ze souboru?

    Jednoduchy priklad pouziti :

     

    #!/bin/bash

    TMP="."

    trap "TMP=\"-\" " SIGUSR1

    while :
    do
        sleep 1
        echo -n $TMP
    done

     

    Pak staci zavolat :

    kill -SIGUSR1 'pid procesu'

    a skript zacne vypisovat '-' misto puvodni '.'

    Zdeněk Zámečník avatar 7.4.2009 21:05 Zdeněk Zámečník | skóre: 26
    Rozbalit Rozbalit vše Re: Bash a předání hodnoty procesu běžícímu na pozadí

    Velmi dobrá myšlenka. Díky!

    7.4.2009 20:40 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Bash a předání hodnoty procesu běžícímu na pozadí
    Nutno podotknout, že skript běží ve smyčce, takže použití pojmenované roury je nemožné, protože by mi skript zastavoval.
    A co kdyby z ní zkoušel číst, jenom když k tomu dostane pokyn - že by po obdržení signálu (třeba SIGUSR1) přečetl, co je v ní.
    neustálé zapisování a čtení na disk
    IMHO pokud by se ten soubor vytvořil a hned zase smazal, tak k zápisu na disk ani nedojde, protože zůstane celou dobu někde v cache.
    Našel jsem nějakou zmínku o /dev/shm, ale nechce se mi moc věřit, že můžu přímo sem zapisovat jako by se nechumelilo.
    A proč ne :-)? Pokud budete komunikovat přes soubory, tak stejně musíte zjistit, kde ty pomocné soubory (nebo roury, to je fuk) budete vytvářet - tak můžete rovnou zkusit, jestli tenhle adresář existuje (a je zapisovatelný) a nebo to dávat do /tmp.
    Jako další možnost jsem viděl unix sockety, z toho, co jsem ale dohledal, odhaduji, že s nimi přímo bash pracovat neumí...
    V tomhle případě by se ale použití těhle soketů nelišilo od roury (až na tu obousměrnost)...
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    7.4.2009 20:50 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Bash a předání hodnoty procesu běžícímu na pozadí
    V tomhle případě by se ale použití těhle soketů nelišilo od roury (až na tu obousměrnost)...

    Linuxové roury jsou obousměrné.
    In Ada the typical infinite loop would normally be terminated by detonation.

    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.