【发布时间】:2015-03-28 15:53:57
【问题描述】:
您好,我有一个脚本 mainscript.sh 在主脚本中,我有多个智利脚本。
child1.sh
child2.sh
child3.sh
rm -rf /home/bdata/batch/*
我正在运行我的 mainscript.sh,它将并行运行所有子作业。
mainscript.sh
child1.sh &
child2.sh &
child3.sh &
rm -rf /home/bdata/batch/*
第四条语句在完成所有执行之前运行。
在并行完成以上 3 个脚本后,有什么方法可以控制最后一行的执行。
【问题讨论】:
-
在每个脚本的末尾添加 &。如果您想不考虑终端运行,请选择 nohup 选项。
-
Perl 支持多线程和分叉,如果这是一个可接受的解决方案。我知道它不是 shell,但几乎无处不在:stackoverflow.com/questions/26296206/…
-
@Kate -- 这行得通,但问题是我想在所有其他 shell 脚本完成执行后运行最后一行。在我的情况下,它是在完成所有脚本之前删除我的文件夹