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í
×
    26.12. 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    26.12. 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 7
    26.12. 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    26.12. 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.12. 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 30
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (35%)
     (2%)
     (20%)
     (2%)
     (2%)
     (2%)
     (14%)
     (14%)
     (12%)
    Celkem 132 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Dotaz: Současný běh dvou částí kódu v bashi.

    9.4.2006 13:00 x
    Současný běh dvou částí kódu v bashi.
    Přečteno: 152×
    Dobrý den. Potřebuji nějak udělat, aby běžely dvě části scriptu současně, ne následně. Tj hlavní program a hlídací smyčka. Chci mít podobný kód:
    dcopRef=`kdialog --progressbar "Press Cancel at Any time" 4`
    dcop $dcopRef showCancelButton true
    
    # Testovací smyčka
    
     while true; do
     sleep 1
    [ `dcop $dcopRef wasCancelled` == "true" ] && echo konec
    done
          
    # Hlavní funkce
    
    dcop $dcopRef setProgress 1
    dcop $dcopRef setLabel "Thinking really hard"
    sleep 50
    dcop $dcopRef setProgress 2
    sleep 50
    dcop $dcopRef setLabel "Thinking some more"
    dcop $dcopRef setProgress 3
    sleep 50
    dcop $dcopRef setProgress 4
    sleep 50
    dcop $dcopRef close
    
    exit
    Hlavní funkce by měla normálně probíhat, ta smyčka by jen měla hlídat stisk ukončovacího tlačítka a zavolat vypínací funkci. Teď se pochopitelně rozjede jen ta smyčka. Lze nějak učinit, aby běžely současně testovací smyčka i hlavní program?

    Odpovědi

    vogo avatar 9.4.2006 13:06 vogo | skóre: 34 | blog: "Skládat papír"
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    co to rozdělit do dvou skriptů a ty pouštět společně?
    Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
    9.4.2006 14:17 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    Tak ve skriptu spusť příkaz, nebo skupinu příkazů "na pozadí" :
    prikaz1 &
    
    {
      prikaz2
      prikaz3
    } &
    
    prikaz4
    
    Příkaz1 a příkaz2,3 budou bězět na pozadí při současném běhu skriptu (prikazu4 atd.).
    9.4.2006 15:04 x
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    Ano, to je přesně ono. Děkuji moc.
    9.4.2006 17:59 x
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    Ještě drobnost : v části "na pozadí" nefunguje exit. Jak udělat, aby se ukončil komplet celý script?
    David Watzke avatar 9.4.2006 18:03 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    Zkus místo exitu break.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    9.4.2006 18:36 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    Jak exit? Pošli výpis skriptu. Až ten skript (nebo ten proces na pozadí) doběhne, tak skončí. Nebo je potřeba ukončit dříve? Je zde možnost i zabití.
    9.4.2006 19:09 x
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    Ten script teď vypadá takto:
    function k_dcop()
    {
    echo konec
    dc_1=0
    dcop $dcopRef close
    }
    
    dcopRef=`kdialog --progressbar "Press Cancel at Any time" 4`
    dcop $dcopRef showCancelButton true
    
    dc_1=1
    until [ $dc_1 -eq 0 ]; do
      sleep 1
      [ `dcop $dcopRef wasCancelled` == true ] &&  k_dcop
    done &
    
    dcop $dcopRef setProgress 1
    dcop $dcopRef setLabel "Thinking really hard"
    sleep 5
    dcop $dcopRef setProgress 2
    sleep 5
    dcop $dcopRef setLabel "Thinking some more"
    dcop $dcopRef setProgress 3
    sleep 5
    dcop $dcopRef setProgress 4
    sleep 5
    
    dcop $dcopRef close
    
    exit
    Když stisknu ukončovací tlačítko v progressbaru, toto zmizí, ale script dál běží až do konce (což je nepřijatelné, půjde o mencoder, a to jsou hodiny).
    mircy@linux:/data/video-avi> sh e.sh
    konec
    object not accessible
    object not accessible
    object not accessible
    call failed
    mircy@linux:/data/video-avi>
    
    A když ho nestisknu,tak po doběhnutí skriptu donekonečna:
    e.sh: line 19: [: ==: unary operator expected
    call failed
    e.sh: line 19: [: ==: unary operator expected
    call failed
    e.sh: line 19: [: ==: unary operator expected
    call failed
    e.sh: line 19: [: ==: unary operator expected
    call failed
    
    Omluvte mé pomalé psaní, jsem postižený.
    10.4.2006 01:55 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    Hele, vůbec se mi teď nechce zkoumat co ten skript má dělat a co přesně potřebuješ, takže možná plácnu blbost, když tak dej vědět ....

    Pokud potřebuješ, aby skript nepokračoval dále za :
    dc_1=1
    until [ $dc_1 -eq 0 ]; do
      sleep 1
      [ `dcop $dcopRef wasCancelled` == true ] &&  k_dcop
    done &
    
    tak tu část zkus upravit takhle :
    dc_1=1
    {
      until [ $dc_1 -eq 0 ]; do
        sleep 1
        [ `dcop $dcopRef wasCancelled` == true ] &&  k_dcop
      done
      exit
    } &
    ... atd.
    
    a nebo takhle :
    dc_1=1
    until [ $dc_1 -eq 0 ]; do
      sleep 1
      [ `dcop $dcopRef wasCancelled` == true ] &&  k_dcop
    done &
    [ "$dc_1" = "1" ] || exit
    ... atd.
    
    Pokud mysllíš něco jiného, napiš a já, nebo někdo jiný se více zamyslí ... ;-) .
    9.4.2006 19:16 x
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    Jo, ta fce k_dcop s tím exitem:
    function k_dcop()
    {
    echo konec
    dc_1=0
    dcop $dcopRef close
    exit
    }
    
    10.4.2006 02:01 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    Jo, teď koukám, že ten exit je na konci funkce. Tam asi nemá žádný význam, stejně tam funkce končí. Zkus ho dát, jak jsem psal tady, jestli je to co předpokládám, že potřebuješ.
    10.4.2006 10:10 x
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    Nefunguje ani jedno. Napadl mně jiný postup. Psals cosi o zabítí. Byl by možný jiný spustitelný script nebo soubor.desktop s obsahem (teď budu cucat z prstu) kill ./e.sh nebo exit ./e.sh. Prostě vypínací "ikonka".
    Samozřejmě jde script ukončit vypnutím konzole, ale ten program bude pro BFU spustitelný i myší, takže tam žádnou konzoli k zavření mít nebude.
    10.4.2006 11:41 x
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    Mám to !!! Místo "exit" jsem dal "kill $$". Funguje i ve funkci na pozadí.
    10.4.2006 14:54 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: Současný běh dvou částí kódu v bashi.
    Asi jsem Tě původně nepochopil, myslel jsem, že chceš jen, aby skript po zavolání funkce nepokračoval dále dalšími řádky. Tys ale chtěl ukončit celý skript, tzn. i ten co běží jakoby paraelně.

    Ano, toto killnutí je jedna z možností.

    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.