如何设置此KornShell(ksh)脚本在完成tst1.sql之后 并行 运行SQL脚本2,3,然后在完成2,3之后运行tst4.sql?这可能吗?
#/usr/bin/ksh #SET ENVIRONMENT ORACLE sqlplus user1/pw @/home/scripts/tst1.sql sqlplus user1/pw @/home/scripts/tst2.sql sqlplus user1/pw @/home/scripts/tst3.sql sqlplus user1/pw @/home/scripts/tst4.sql exit 0
第一条命令应同步运行…
如果您将最后两个命令作为后台进程启动(在命令末尾添加和),则它们将并行运行。
您是否要让脚本在离开之前等待最后两个过程完成?
这样的事情应该起作用:
sqlplus user1/pw @/home/scripts/tst1.sql sqlplus user1/pw @/home/scripts/tst2.sql & pid2=$! sqlplus user1/pw @/home/scripts/tst3.sql & pid3=$! # pseudo-code: # while (`ps -p"$pid2,$pid3" | wc -l` != "1"); sqlplus user1/pw @/home/scripts/tst4.sql