Одновременный запуск нескольких команд exec (но дождитесь последней чтобы закончить)

Я огляделся в поисках этого и, похоже, не нашел никого, кто пытался бы делать то же, что и я.

У меня есть информация, которая передается в мою функцию через запрос _POST. Основываясь на этих данных, я запускаю команду exec для запуска сценария TCL определенное количество раз (с разными параметрами в зависимости от переменной post). Прямо сейчас у меня есть exec в foreach, поэтому для его запуска требуется вечность (скрипт TCL занимает 15 секунд или около того, чтобы вернуться, поэтому, если мне нужно запустить его 100 раз, у меня есть небольшая проблема). Вот мой код:

    public function executeAction(){
    //code to parse the _POST variable into an array called devices

    foreach($devices as $devID){
        exec("../path/to/script.tcl -parameter1 ".$device['param1']." -parameter2 ".$device['param2'], $execout[$devID]);
    }
    print_r($execout);
}

Очевидно, что этот код представляет собой просто отрывок с удаленными большими кусками, но, надеюсь, этого достаточно, чтобы продемонстрировать, что я пытаюсь сделать.

Мне нужно запустить все execs одновременно и дождаться их завершения перед возвратом. Мне также нужен вывод всех скриптов, хранящихся в массиве с именем $execout.

Есть идеи?

Спасибо!!!

11
задан Kevin 2 April 2012 в 15:14
поделиться