Supongamos que tengo tres (o más) scripts bash: script1.sh
, script2.sh
, y script3.sh
. Me gustaría llamar a estos tres scripts y ejecutarlos en paralelo . Una forma de hacerlo es simplemente ejecutar los siguientes comandos:
nohup bash script1.sh &
nohup bash script2.sh &
nohup bash script3.sh &
(En general, los scripts pueden tardar varias horas o días en finalizar, por lo que me gustaría usarlos nohup
para que continúen ejecutándose incluso si mi consola se cierra).
Pero, ¿hay alguna forma de ejecutar esos tres comandos en paralelo con una sola llamada?
Estaba pensando algo como
nohup bash script{1..3}.sh &
pero esto parece ejecutarse script1.sh
, script2.sh
y script3.sh
en secuencia, no en paralelo.
nohup bash script{1..100}.sh &
o for i in {1..100}; do nohup bash script{1..100} &; done
), en lugar de escribir nohup bash script*.sh &
100 veces diferentes.
screen
(o tmux
), para resolver el problema de la consola pero mantener el acceso a la salida (y entrada).
nohup ... & nohup ... & nohup ... &
. Si, en cambio, quiere decir que desea ejecutar todos los scripts sin escribir cada nombre de script individualmente, lo hará un bucle simple.