스레드로 두 개의 쉘 파일 실행

스레드로 두 개의 쉘 파일 실행

두 개의 파일 셸을 병렬로 실행하고 동일한 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

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번 반복 후 종료됩니다.

이제 버전을 생성하는 경우 약간만 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라운드 후에 종료됩니다. 출력이 혼합되어 있으므로 병렬로 실행됩니다.

관련 정보