バックグラウンドで実行して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 

おすすめ記事