我有一种情况需要:
>在脚本A中进行一些前导码设置
>一起启动脚本B,C,D和E,以便它们同时运行
>当所有四个脚本都退出时,在脚本A中进行一些清理
目前我在脚本B-D中运行了标志,用于设置脚本是否仍在运行,并在触发四个脚本后,脚本A在等待循环中检查这些标志文件.
有一个更好的方法吗?
背景是这是使用快照的AIX服务器的备份脚本 – 脚本A在我们希望备份的文件系统上获取JFS2快照(它们都需要同时完成,因为我们有相关数据分布在不同的文件系统中 – 这不能更改),脚本B-D从快照(三个rsyncs到另一个服务器,一个磁带备份)执行这些文件系统的实际备份,然后脚本A删除所有文件副本后的快照(包括磁带)完成.
使用bash,您可以这样做:
init # do the preamble setup of script A scriptB & # start in background scriptC & # start in background scriptD & # start in background wait # wait for all background jobs to finish cleanup # do the cleanup part of script A