我有一个shell脚本,我必须在其中执行两个查询(在不同的数据库上),将结果假脱机到文本文件,最后调用一个处理这些文本文件信息的C ++程序。像这样:
sqlplus user1/pw1@database1 @query1.sql
sqlplus user2/pw2@database2 @query2.sql
./process_db_output
两个查询都需要一些时间来执行。其中一个可能需要10分钟,而另一个通常更快。我想要做的是同时执行它们,当两者都完成后,调用处理实用程序。
有关如何操作的任何建议吗?
答案 0 :(得分:6)
使用&
来查询查询,然后使用wait
等待所有子进程完成,然后使用c ++来处理结果。
代码:
#!/bin/bash
# first calling
sqlplus user1/pw1@database1 @query1.sql &
sqlplus user2/pw2@database2 @query2.sql &
#now waiting
wait
#done waiting
./process_db_output