多くのシードでタスクを実行するシェルスクリプトを作成しました。ここに私のシェルスクリプトがあります
task.sh
for i in 1 2 3 4 5
do
setsid python main.py --random-seed 24 1>data/${i}_24.log 2>&1
sleep 3
done
echo "OK 1"
for i in 1 2 3 4 5
do
setsid python main.py --random-seed 48 1>data/${i}_48.log 2>&1
sleep 3
done
echo "OK 2"
for i in 1 2 3 4 5
do
setsid python main.py --random-seed 60 1>data/${i}_60.log 2>&1
sleep 3
done
echo "OK 3"
ただし、i=1 のシード 24 を持つ最初のプロセスが起動され、次のプロセスは起動されていません。その理由は、プロセスを1つずつ実行することしかサポートしていないシェルスクリプトにあると思います。すべてのプロセスをバックグラウンドで実行するように修正するにはどうすればよいですか?