Shell脚本中的“线程”

我有一个情况,我需要:

  1. 在脚本A中执行一些前导码设置
  2. 同时启动脚本B,C,D和E,使它们同时运行
  3. 当所有四个脚本都退出时,在脚本A中进行一些清理

目前,我已经在脚本B-D中运行标志,设置脚本是否仍在运行,并且在closures这四个脚本之后,脚本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