Добрый день.
Возникло затруднение в реализации следующей модели: есть некоторый PHP-скрипт, который выполняется около секунды. И есть множество параметров (допустим, 100), с каждым из которых нужно этот скрипт выполнить.
Для выполнения скрипта использую пакет php5-cgi.
Проблема в том, что при задании цикла в bash или perl данная конструкция работает, но требует секунду на выполнение скрипта с каждым параметром (ждет окончания его выполнения). Итого требуется 100 секунд.
Вопрос такой: как сделать так, чтобы было создано несколько независимых процессов php5-cgi, которые бы выполняли скрипт параллельно и тем самым существенно сократили время выполнения? В параметрах самого php5-cgi я не нашел опцию запуска в фоновом режиме. Может, есть какие-то идеи?Недоскрипт bash приведен тут же:
#!/bin/bash
i=0;
while [ "$i" -le 5 ]; do
php5-cgi /var/www/index.php;
let i=i+1;
done;Спасибо.
> php5-cgi /var/www/index.php;php5-cgi /var/www/index.php &
>> php5-cgi /var/www/index.php;
> php5-cgi /var/www/index.php &При выполнении этой команды в командной строке все отлично - php5-cgi уходит в фоновый режим и там выполняется. А вот при написании ее в bash-скрипте - выдает ошибку:
# sh start.sh
start.sh: line 6: syntax error near unexpected token `;'
start.sh: line 6: `php5-cgi /var/www/index.php &;'Пробую экранировать амперсант - выполнение идет, но так же с секундной задержкой...
>>> php5-cgi /var/www/index.php;
>> php5-cgi /var/www/index.php &
> При выполнении этой команды в командной строке все отлично - php5-cgi уходит
> в фоновый режим и там выполняется. А вот при написании ее
> в bash-скрипте - выдает ошибку:
> # sh start.sh
> start.sh: line 6: syntax error near unexpected token `;'
> start.sh: line 6: `php5-cgi /var/www/index.php &;'
> Пробую экранировать амперсант - выполнение идет, но так же с секундной задержкой...убрать точку с запятой? это ж bash ж)
> убрать точку с запятой? это ж bash ж)Огромное спасибо. Теперь все работает отлично)