¿Cómo puedo ejecutar dos archivos Shell en paralelo y no compartir el mismo jvm? Puede que utilice subprocesos, pero ¿cómo ejecuto dos archivos shell y dos subprocesos? Archivo 1:
#!/bin/bash
#
# Script for running several experimentations one the same JVM
# Usage : TRACE_DIR NB_EXPE Factories...
#
param="parameter1"
another="parameter2"
for ((i = 10; i >= 0; i -= 1))
do
echo "run my file with param another "
done
Archivo 2:
#!/bin/bash
#
# Script for running several experimentations one the same JVM
# Usage : TRACE_DIR NB_EXPE Factories...
#
a="101" b="400" c="500"
echo "run my programme with a b c "
Respuesta1
Si desea ejecutar 2 scripts de shell en paralelo, puede utilizar la siguiente sintaxis:
script1 & script2 &
Como ejemplo, eche un vistazo al siguiente script de prueba (llamado p1
):
i=1
while true;
do
echo "1 $((i++))"
sleep 1
if [ $i -gt 10 ]; then break; fi
done
Contará hasta 10 y hará eco de "1" antes del contador. Después de 10 iteraciones se cierra.
Ahora si creas una p2
versión, solo modifica un echo
poco:
echo "2 $((i++))"
Intente ejecutar los scripts con la sintaxis anterior:
$ ./p1 & ./p2 &
1 1
2 1
1 2
2 2
1 3
2 3
1 4
2 4
1 5
2 5
1 6
2 6
1 7
2 7
1 8
2 8
1 9
2 9
1 10
2 10
Como puede ver, ambos scripts muestran su resultado y se cierran después de 10 rondas. Tenga en cuenta que la salida es mixta, por lo que se ejecutan en paralelo.