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 16:11 | Nová verze

Pro vývojáře v programovacím jazyce Python: Krátce po vydání multiplatformního frameworku Qt ve verzi 5.12 bylo vydáno také Qt for Python 5.12. Knihovna pro vědecké výpočty v Pythonu SciPy (Wikipedie) byla po šesti měsících vývoje vydána v nové verzi 1.2.0.

Ladislav Hagara | Komentářů: 0
včera 22:33 | Zajímavý projekt

Na Humble Bundle byla spuštěna akce Humble Book Bundle: Hacking for the Holidays by No Starch Press. Za 1 dolar a více lze koupit 5 elektronických knih, za 8 dolarů a více lze koupit 10 elektronických knih a za 15 dolarů a více lze koupit 15 elektronických knih věnovaných počítačové bezpečnosti, penetračnímu testování, forenzní analýze nebo kryptografii od nakladatelství No Starch Press. Nákupem lze podpořit organizaci Electronic Frontier Foundation (EFF).

Ladislav Hagara | Komentářů: 0
včera 20:11 | Nová verze

Po devíti měsících od vydání verze 5.4 byla vydána verze 5.5 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Nová verze RawTherapee je k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

Ladislav Hagara | Komentářů: 0
včera 15:44 | Upozornění

Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal varování (pdf) před používáním softwaru i hardwaru společností Huawei Technologies Co., Ltd., a ZTE Corporation. Používání těchto prostředků představuje bezpečnostní hrozbu.

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

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 159. brněnský sraz, který proběhne v pátek 21. prosince od 18:00 v restauraci Na blbým místě na adrese Pellicova 5b.

Ladislav Hagara | Komentářů: 1
včera 12:55 | Bezpečnostní upozornění

V relačním databázovém systému SQLite (Wikipedie) byla nalezena bezpečnostní chyba pojmenovaná Magellan. Chyba se týká také webových prohlížečů postavených na Chromiu podporujících WebSQL API (POC). Bezpečnostní chyba byla opravena v SQLite 3.26.0 a v Chromiu 71.0.3578.80.

Ladislav Hagara | Komentářů: 1
včera 12:11 | Nová verze

WinBtrfs, open source systémový ovladač pro systémy Microsoft Windows umožňující přístup k linuxovému souborovému systému Btrfs, byl vydán ve verzi 1.1. Přináší podporu komprese zstd (Zstandard). WinBtrfs je používán například v operačním systému ReactOS.

Ladislav Hagara | Komentářů: 0
16.12. 12:44 | Komunita

Nadace Cloud Native Computing Foundation (CNCF), jejíž cílem je usnadnit spolupráci při vývoji a zavádění nových cloudových technologií, projekt konsorcia Linux Foundation, organizovala od 10. do 13. prosince v Seattlu konferenci KubeCon + CloudNativeCon North America 2018. Shrnutí dění na konferenci v příspěvku na blogu. V úvodu konference společnost Red Hat věnovala této nadaci distribuovanou key-value databázi etcd. Jedná se o

… více »
Ladislav Hagara | Komentářů: 0
14.12. 14:33 | Nová verze

Byla vydána nová verze 1.30 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání.

Ladislav Hagara | Komentářů: 2
14.12. 14:22 | Nová verze

Deset dnů po představení beta verze byla vydána stabilní verze Steam Linku pro Raspberry Pi umožňující streamovat hry ve službě Steam z počítače na televizní obrazovku.

Ladislav Hagara | Komentářů: 9
Chystáte se přejít na Wayland na „desktopu“?
 (25%)
 (9%)
 (11%)
 (30%)
 (25%)
Celkem 148 hlasů
 Komentářů: 19, poslední 14.12. 18:37
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: 81×
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.