J'ai un script bash qui ressemble à ceci:
##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
Je voudrais créer une autre boucle for après la première pour continuer pendant 30. Par exemple
##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
Je voudrais que le premier ensemble de travaux se termine avant de commencer le nouvel ensemble. Mais à cause de nohupcela, il semble qu'ils soient tous exécutés simultanément.
Je l'ai nohupparce que je me connecte à distance à mon serveur et que je démarre les travaux là-bas, puis ferme mon bash. Existe-t-il une solution alternative?
waitbuiltin.