如何并行执行 4 个 shell 脚本,我不能并行使用 GNU?



我有4个shell脚本dog.sh, bird.sh, cow.sh和fox.sh。这些文件中的每个都使用xargs并行执行4个wget,以派生一个单独的进程。现在我想让这些脚本并行执行。由于一些我不知道的可移植性原因,我不能使用GNU parallel。是否有一种方法,我可以做到这一点与xargs或任何其他工具。

我还可以问可移植性的原因是什么吗?

我完全是shell脚本的新手。对不起,如果我的问题看起来很神秘。

提前感谢各位。

要做到这一点,最简单的方法是将所有四个脚本置于后台。您可以使用另一个脚本"run_parallel.sh"包装这些脚本,如下所示:

./dog.sh &
./bird.sh &
./cow.sh &
./fox.sh &

与符号以非阻塞的方式将被调用的进程置于后台,导致所有4个进程同时执行。

下面是一个名为"one_two_three.sh"的脚本:
echo 'One'
sleep 1
echo 'Two'
sleep 1
echo 'Three'
sleep 1
echo 'Done'

和一个包装器"wrapper.sh":

./one_two_three.sh &
./one_two_three.sh &
./one_two_three.sh &
./one_two_three.sh &
echo 'Four running at once!'

最新更新