スレッドで2つのシェルファイルを実行する

スレッドで2つのシェルファイルを実行する

2 つのファイル シェルを並列に実行し、同じ JVM を共有しないようにするにはどうすればよいですか。スレッドを使用することもできますが、2 つのスレッドで 2 つのファイル シェルを実行するにはどうすればよいでしょうか。ファイル 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

2 つのシェル スクリプトを並行して実行する場合は、次の構文を使用できます。

script1 & script2 &

例として、次のテスト スクリプト ( という名前p1) を見てみましょう。

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

10 までカウントし、カウンターの前に「1」をエコーし​​ます。10 回の繰り返しの後、終了します。

ここで、バージョンを作成する場合はp2echo少しだけ変更します。

    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 ラウンド後に終了します。出力は混合されているため、並行して実行されることに注意してください。

関連情報