2012-06-06 189 views
1

我有一個shell腳本,在其中我必須執行兩個查詢(在不同的數據庫上),將它們的結果後臺處理爲文本文件,最後調用處理這些文本文件信息的C++程序。類似這樣的:在shell腳本上同時執行兩個查詢

sqlplus user1/[email protected] @query1.sql 
sqlplus user2/[email protected] @query2.sql 

./process_db_output 

這兩個查詢都需要一些時間來執行。其中一個可能需要10分鐘,而另一個通常更快。我想要做的是同時執行它們,當兩者都完成時,調用處理實用程序。

有關如何操作的任何建議?

回答

6

使用&來後臺查詢,然後wait等待所有子進程完成,然後是處理結果的C++事情。 代碼:

#!/bin/bash 
# first calling 
sqlplus user1/[email protected] @query1.sql & 
sqlplus user2/[email protected] @query2.sql & 

#now waiting 
wait 
#done waiting 
./process_db_output