Mam skrypt bash, który wygląda następująco:
##script
#!/bin/bash
rm data*
rm logfile*
for i in {1..30}
do
## append a & if you want to run it parallel;
nohup Rscript --vanilla main.R 10 100 $i &> logfile"$i" &
done
Chciałbym utworzyć kolejną pętlę for po pierwszej, aby kontynuować przez kolejne 30. Na przykład
##script
#!/bin/bash
rm data*
rm logfile*
for i in {1..30}
do
## append a & if you want to run it parallel;
nohup Rscript --vanilla main.R 10 100 $i &> logfile"$i" &
for i in {31..60}
do
## append a & if you want to run it parallel;
nohup Rscript --vanilla main.R 10 100 $i &> logfile"$i" &
done
Chciałbym, aby pierwszy zestaw zadań zakończył się przed rozpoczęciem nowego zestawu. Ale z tego nohup
powodu wydaje się, że wszystkie działają jednocześnie.
Mam, nohup
ponieważ zdalnie loguję się na mój serwer i uruchamiam tam zadania, a następnie zamykam bash. Czy istnieje alternatywne rozwiązanie?
wait
wbudowane.