1

(異なるデータベースで)2つのクエリを実行し、その結果をテキストファイルにスプールし、最後にそれらのテキストファイルの情報を処理するC++プログラムを呼び出す必要があるシェルスクリプトがあります。このようなもの:

sqlplus user1/pw1@database1 @query1.sql
sqlplus user2/pw2@database2 @query2.sql

./process_db_output

どちらのクエリも実行には時間がかかります。それらの1つは最大10分かかることがありますが、もう1つは通常より高速です。私がやりたいのは、それらを同時に実行し、両方が完了したら、処理ユーティリティを呼び出すことです。

そうする方法について何か提案はありますか?

4

1 に答える 1

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
于 2012-06-06T15:28:18.357 に答える