Запустить два файла оболочки с потоком

Запустить два файла оболочки с потоком

Как мне запустить две файловые оболочки параллельно и не использовать одну и ту же jvm. Может быть, я использую поток, но как мне запустить две файловые оболочки в двух потоках? Файл 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  

Файл 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 "

решение1

Если вы хотите запустить два скрипта оболочки параллельно, вы можете использовать следующий синтаксис:

script1 & script2 &

В качестве примера рассмотрим следующий тестовый скрипт (названный p1):

i=1
while true;
do
    echo "1 $((i++))"
    sleep 1
    if [ $i -gt 10 ]; then break; fi
done

Он досчитает до 10 и выдаст «1» перед счетчиком. После 10 итераций он прекратит работу.

Теперь, если вы создадите версию, просто немного p2изменив :echo

    echo "2 $((i++))"

Попробуйте запустить скрипты с указанным выше синтаксисом:

$ ./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

Как вы видите, оба скрипта отображают свой вывод и завершаются после 10 раундов. Обратите внимание, что вывод смешан, поэтому они работают параллельно.

Связанный контент