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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 4
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 22
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 3
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 1
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 2
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 771 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Jak spustit v bashi dva procesy najednou (paralelně)

3.5.2010 12:32 Myšpulín | skóre: 8
Jak spustit v bashi dva procesy najednou (paralelně)
Přečteno: 617×
Mám skript na zpracování souborů a potřeboval bych udělat, aby to spustilo dva procesy nejednou a ne aby to čekalo až jeden zkončí a pak to pustilo druhý. Chtěl bych pustit paralelně dvě smyčky, které by mi provedly konverzi wav souborů na mp3 pralelně ve dvou adresářích (kvůli úspoře času). Obávám se, že když ve smyčkách pustím proces na pozadí, tak mi to vytvoří najednou tolik procesů, kolik je v adresáři souborů. Nevíte někdo, jak na to? Děkuji

Řešení dotazu:


Odpovědi

3.5.2010 12:41 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
Pustit něco na pozadí můžeš pomocí ampersandu (&), jak ses jistě dočetl v man stránce bashe.
3.5.2010 12:54 Myšpulín | skóre: 8
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
No to jo, ale co to udělá ve smyčce typu for i in *.wav? Nespustí to náhodou počet procesů odpovídající počtu wav souborů? To by mi zahltilo pc. Potřebuji nějak udělat, aby to spustilo dvě úlohy najednou a ne aby to čekalo až první skončí a pak spustilo druhou. Nebo jak by se dalo ošetřit, aby se třetí proces spustil až ty první dva skončí?
3.5.2010 15:03 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
To záleží na tom, jak na to půjdeš. Říkáš převést mp3 ve dvou adresářích, jo?
(for x in prvniadresar/*; do prevednamp3 "$x"; done) & for x in druhyadresar/*; do prevednamp3 "$x"; done; wait
4.5.2010 08:42 Myšpulín | skóre: 8
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
Tohle vypadá celkem zajímavě. Jen bych potřeboval trochu ujasnit několik věcí. Proč je mezi těmi dvěma cykly jen jenen & ? Všude jsem četl, že pro řetězení příkazů se používají dva. Proč v není druhá smyčka v závorkách? A jakou funkci plní wait? Čeká až doběhne smyčka? Něco takového by mi asi stačilo.
4.5.2010 11:18 cronin | skóre: 48
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
Precitaj si manual! Jeden ampersand nie je to iste co dva. Zatial co dva su logicky AND (druhy prikaz sa spusti iba ak prvy skoncil uspechom), jeden ampersand prave spusta prikaz na pozadi.
4.5.2010 12:38 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
Závorka má za důsledek spuštění v ní uvedených příkazů v novém procesu bashe. Za tím je ampersand, aby se nečekalo na dokončení tohoto procesu. Pak je druhý cyklus, který probíhá v aktuálním procesu (netřeba spouštět nový), a na konci wait, aby se případně počkalo na proces s prvním cyklem, pokud ještě nedoběhl.
3.5.2010 13:07 kulik
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
No tak jak to popisujes to staci pustit skript na pozadi dvakrat, pro kazdy adresar jednou. Pripadne pokud nechces dva adresare muzes sestavit seznam souboru a predchodit jednomu procesu liche a druhemu sude. Nejsou to optimalni postupy (jeden proces ti muze skoncit driv a ve zbytku casu uz pojede jen jeden), ale jsou relativne jednoduche.
3.5.2010 16:52 marek
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)

Dobry den.

Napsal jsem si na podobne pripay mustr:

#!/bin/bash
POTOMKU=5 #tady se nastavyje kolik tam potomku
TMPFILE="$(mktemp -t -d ${0/*\//}.XXXXXXXXXX)" || exit 1
mkfifo "$TMPFILE/fifo"
#Ted bychom meli mit fifo v nasem tempu

#Napoustime si potomky
for ((y=1;y<=${POTOMKU};y++))
do
        while i=$(cat "$TMPFILE/fifo" 2> /dev/null)
        do
                [ "${i}" ] && (
                #VASE FUNKCE
                echo  "${y}->${i}<-"
                )
        done &
done
#Ze standartniho vstupu cteme po radcich a cpeme jednotlive do fifo
while read radka; do
        echo ${radka} > "$TMPFILE/fifo"
        sleep 0 #zpozdeni je nutno naladit, aby to predavalo potomkum pokud mozno po jednom radku, me staci ta nula
done
#pockame si, az se postupne dostanou vsechny potomci do faze, kdy cekaji na cat a tam je zabijeme
ps --ppid $$ -o "%p %c" --no-headers | sed -e "s/\([0-9]\+\) ${0/*\//}$/\1/ p" -ed |\
while read i; do
        until   kill $(ps --ppid "$(ps --ppid ${i} -o "%p" --no-headers)" -o "%p %c" --no-headers | sed -e "s/\([0-9]\+\) cat$/\1/ p" -ed) 2>/dev/null; do sleep 0.1; done
done
wait
rm "$TMPFILE/fifo"
rmdir $TMPFILE

Ma to ale nekolik ALE:

VASE FUNKCE musi ucekavat, ze prijde vice nez jeden radek. - je tam proste jednoduse neresitelna race condition

Je to radkove orientovano - souborovy system ale povoluje vyceradkove nazvy souboru.

Vyplati se to jen nekdy .....

ocekava to na stdin, takze to spustite treba: ls ../ | ./worker, pokud si to teda nazvete worker

Marek

4.5.2010 07:05 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
To je dobré, ale ten make to dělá přecejen líp a jednodušeji.

Cca takto:
WAV=$(wildcard *.wav)
MP3=$(WAV:.wav=.mp3)
LAMEOPTS=--preset studio

all: $(MP3)

%.mp3: %.wav
        @echo '$@'
        @lame $(LAMEOPTS) $< $@
Pak třeba:
cd wavy; make -f /moje/Makefile -j 2
In Ada the typical infinite loop would normally be terminated by detonation.
4.5.2010 10:07 dustin | skóre: 60 | blog: dustin
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
Jojo, make umí spoustu užitečných věcí, jenom je boj pokaždé studovat, jak se ty vychytávky do makefilu přesně zapisují.
Bedňa avatar 3.5.2010 21:34 Bedňa | skóre: 33 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
Možno sa mýlim, ale má zmysel nejaké lepšie fjučúry ešte písať v bashy? Potom sú tie skripty fakt škaredé a keď sa k ním časom vrátiš, už ani nevieš čo je to a prečo je tam ten divný znak.
Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
3.5.2010 23:40 chrono
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
Problém, že človek nevie, čo presne niektoré riadky robia, môže nastať v čomkoľvek (a nie len v Bash skriptoch).
Bedňa avatar 4.5.2010 01:19 Bedňa | skóre: 33 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
Ja som skôr narážal na syntax bashu, ak je tam niečo zlotejšie, tak to vyzerá fakt dosť hnusne.
Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
AraxoN avatar 4.5.2010 13:06 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
Čo je hnusné a čo nie - to je subjektívna záležitosť.
A fine is a tax for doing wrong. A tax is a fine for doing well.
4.5.2010 13:51 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
Smysl to má. Zkuste perl, Bash vám pak bude připadat přehledný.
Bedňa avatar 4.5.2010 18:08 Bedňa | skóre: 33 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
V rámci naučenia sa Perlu som pred pár rokmi spravil jednoduchý web a syntax mi nepripadala neprehľadná, asi je to fakt vec vkusu.
Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
3.5.2010 23:44 chrono
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
Možno by sa dal použiť program make (otázne je, či sa ale oplatí vytvárať univerzálnejší súbor Makefile, hlavne ak ide o jednorázovú konverziu).
4.5.2010 11:33 graviton
Rozbalit Rozbalit vše Re: Jak spustit v bashi dva procesy najednou (paralelně)
[cosi co generuje seznam souboru] | xargs -P 2 -n 1 preved_na_mp3.sh

vylepseni: generujici cosi je find s -print0, xargs ma navic jeste -0 (resi ruzne mezery a jine uchylne znaky v nazvech)

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.