Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Sériové spouštění skriptů a ukončení BASH  (Přečteno 1605 krát)

Lukáš Vlček

  • Návštěvník
  • Příspěvků: 19
    • iZone
Sériové spouštění skriptů a ukončení BASH
« kdy: 07 Května 2013, 16:47:29 »
Ahoj,
Potřeboval bych poradit... Mám udělaný skript ve kterém je na konci tento for cyklus
Kód: [Vybrat]
for fname in `ls ${PREFIX}/BENCH/`
do
fn=`basename "${fname}" .bench`
if [ -d "$fn" ]
then
bash ${PREFIX}/program/atalanta.sh "${PREFIX}" "${fn}" "${fname}" "${LIMIT}" &
fi
done
který projede složku kterou potřebuji a pro každý "*.bench" soubor spustí samostatný skript kterému předá jiné parametry...
Problém je v tom že se to pak nechce ukončit... to musím udělat sám přes ctrl+c nevíte jak by se to mělo řešit?
Děkuju za odpověď.

menganito

  • Závislák
  • ***
  • Příspěvků: 1728
Re:Sériové spouštění skriptů a ukončení BASH
« Odpověď #1 kdy: 07 Května 2013, 20:15:04 »
Nie som si celkom istý, načo tam máš ten ampersand na konci 6. riadku, podľa mňa Ti to na tom hanguje.

Lukáš Vlček

  • Návštěvník
  • Příspěvků: 19
    • iZone
Re:Sériové spouštění skriptů a ukončení BASH
« Odpověď #2 kdy: 08 Května 2013, 17:01:10 »
Ano to je ten důvod, pokud & odstraním tak se to ukončí samo.
Jsou to výpočetní úlohy na clusteru které trvají dlouho (v řádech hodin/dní). Je nežádoucí aby se čekalo na dokončení jednoho skriptu aby se mohl spustit druhý stejný skript ale s jinými parametry (paralelní spuštění). Když v té složce budu mít 10 souborů tak potřebuji aby se pro každý soubor spustil právě ten skript ale s jinými parametry (sériové spouštění). S tím & to funguje jediné je že se to neukončuje a člověk to musí ukončit sám

menganito

  • Závislák
  • ***
  • Příspěvků: 1728
Re:Sériové spouštění skriptů a ukončení BASH
« Odpověď #3 kdy: 09 Května 2013, 17:40:19 »
S paralelizáciou v bashi Ti ja, žiaľ, neporadím.

Avogadrus

  • Návštěvník
  • Příspěvků: 77
Re:Sériové spouštění skriptů a ukončení BASH
« Odpověď #4 kdy: 10 Května 2013, 09:27:16 »
Spusť si ten script s parametrem "-x" a uvidíš kde to zůstane stát. Nebo ho už spouštěj na pozadí samotný.
U12.04; jádro neznámé; XFCE 4.10

 

Provoz zaštiťuje spolek OpenAlt.