백그라운드에서 실행하고 5개의 인스턴스를 시작하려면 어떻게 해야 합니까?

백그라운드에서 실행하고 5개의 인스턴스를 시작하려면 어떻게 해야 합니까?
cat /export/home/tmp/name_file.txt|while read line
do
        run -i name_file.tx $line  > /dev/null 2>&1
        address name_file.txt $line > /dev/null 2>&1
        sleep 1
done

답변1

질문의 코드 조각을 백그라운드에서 5번만 실행하려는 경우 간단한 접근 방식은 코드를 파일에 넣고 script.sh백그라운드 작업으로 5번 반복하는 것입니다.

bash또는 다음을 사용한다고 가정합니다 ksh93.

$ for i in {1..5}; do ./script.sh & done

그게 가장 쉬운 방법이겠죠.

물론 루프는 스크립트 자체에 배치될 수 있습니다.

#!/bin/ksh

for i in {1..5}; do
    cat /export/home/tmp/name_file.txt|while read line
    do
            run -i name_file.tx $line  > /dev/null 2>&1
            address name_file.txt $line > /dev/null 2>&1
            sleep 1
    done &
done

대안은 다음과 같습니다.

#!/bin/ksh

for i in {1..5}; do
    while read -r name
    do
        run -i name_file.txt "$name"
        address name_file.txt "$name"
        sleep 1
    done </export/home/tmp/name_file.txt >/dev/null 2>&1 &
done 

관련 정보