2012-06-06 2 views
1

У меня есть сценарий оболочки, в котором я должен выполнить два запроса (в разных базах данных), спутать их результаты с текстовыми файлами и, наконец, вызвать программу на C++, которая обрабатывает информацию об этих текстовых файлах , Что-то вроде этого:Одновременно выполняйте два запроса в сценарии оболочки

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 
Смежные вопросы