使用線程運行兩個 shell 文件

使用線程運行兩個 shell 文件

我如何並行運行兩個檔案 shell 並且不共用相同的 jvm。可能我使用線程,但我如何運行兩個檔案 shell 和兩個線程?文件一:

#!/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 個 shell 腳本,可以使用以下語法:

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 輪後退出。請注意,輸出是混合的,因此它們並行運行。

相關內容