Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Параллельная работа 2х скриптов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
chigok
Отправлено: 22 Апреля, 2009 - 21:45:34
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




Сообственно сабж. Пытаюсь сделать так:
-в файле script0.php прописываю:
PHP:
скопировать код в буфер обмена
  1.  
  2. exec('start php -f c:\WebServers\home\localhost\www\0_papka\script1.php &');
  3. exec('start php -f c:\WebServers\home\localhost\www\1_papka\script2.php &');
  4.  

Но получается, что сначала выполняется script1.php, а затем script2.php. Надо,чтобы выполнялись параллельно. Буду благодарен за помощь.
 
 Top
valenok
Отправлено: 23 Апреля, 2009 - 02:13:35
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




exec("start /b command");
Учти, что работать твой код будет только на виндоусе.

(Отредактировано автором: 23 Апреля, 2009 - 02:14:34)



-----
Truly yours, Sasha.
 
My status
 Top
chigok
Отправлено: 23 Апреля, 2009 - 17:41:28
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




valenok пишет:
exec("start /b command")


Пробовал такой вариант... К сожалению, скрипт не запускается, а лишь открывается. Однако
P.S. Мне под виндоус хп и нужно Улыбка
 
 Top
valenok
Отправлено: 23 Апреля, 2009 - 17:47:23
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




что значит открывается ?
А если в качестве комманды что-то вроде
php.exe -f test.php


-----
Truly yours, Sasha.
 
My status
 Top
chigok
Отправлено: 23 Апреля, 2009 - 18:25:47
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




valenok пишет:
что значит открывается ?

Скрипты script1.php и script2.php открываются в macromedia dreamweavere, т.е. показывается их код, но он не исполняется.

Цитата:
А если в качестве комманды что-то вроде
php.exe -f test.php


То получается как в моем первом посте:
CODE (text):
скопировать код в буфер обмена
  1. exec("start php.exe -f c:\WebServers\home\localhost\www\0_papka\script1.php");
  2. exec("start php.exe -f c:\WebServers\home\localhost\www\1_papka\script2.php");
  3.  


Т.е. скрипты запускаются,но поочереди. Надо чтобы параллельно.
Параллельная работа получается, если script1.php и script2.php одновременно запускать из браузера. Но я умру запускать одновременно 20-40 скриптов. Поэтому хотелось бы, чтобы это делалось из скрипта и 1 раз.
 
 Top
Stierus Супермодератор
Отправлено: 24 Апреля, 2009 - 10:09:39
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




http://ru2.php.net/manual/ru/function.exec.php
В обсуждении :
Цитата:
If you use just exec then PHP waits for exe to terminate, but psexec with -d option or WshShell->Run with false option overpass this limitation and do not wait for process termination.

(Добавление)
Там же лежит функция
PHP:
скопировать код в буфер обмена
  1. function execInBackground($cmd) {
  2.     if (substr(php_uname(), 0, 7) == "Windows"){
  3.         pclose(popen("start /B ". $cmd, "r"));
  4.     }
  5.     else {
  6.         exec($cmd . " > /dev/null &");  
  7.     }
  8. }
 
My status
 Top
valenok
Отправлено: 24 Апреля, 2009 - 13:28:26
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




В качестве комманды Вот тут exec("start /b command");

(Отредактировано автором: 24 Апреля, 2009 - 13:28:54)



-----
Truly yours, Sasha.
 
My status
 Top
chigok
Отправлено: 24 Апреля, 2009 - 20:43:52
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2009  


Помог: 0 раз(а)




Stierus пишет:
http://ru2.php.net/manual/ru/function.exec.php
Там же лежит функция
PHP:
скопировать код в буфер обмена
  1. function execInBackground($cmd) {
  2.     if (substr(php_uname(), 0, 7) == "Windows"){
  3.         pclose(popen("start /B ". $cmd, "r"));
  4.     }
  5.     else {
  6.         exec($cmd . " > /dev/null &");  
  7.     }
  8. }

Пробовал так:
CODE (text):
скопировать код в буфер обмена
  1. execInBackground("start php.exe -f c:\WebServers\home\localhost\www\0_papka\script1.php");
  2. execInBackground("start php.exe -f c:\WebServers\home\localhost\www\1_papka\script2.php");

И так:
PHP:
скопировать код в буфер обмена
  1. execInBackground("c:\WebServers\home\localhost\www\0_papka\script1.php");
  2. execInBackground("c:\WebServers\home\localhost\www\1_papka\script2.php");

Итог: открывает, но не запускает

Так:
PHP:
скопировать код в буфер обмена
  1. execInBackground(exec("start php.exe -f c:\WebServers\home\localhost\www\0_papka\script1.php"));
  2. execInBackground(exec("start php.exe -f c:\WebServers\home\localhost\www\0_papka\script1.php"));

Итог: запускает, но последовательно.

valenok пишет:
В качестве комманды Вот тут exec("start /b command"Подмигивание;


Пробовал:
PHP:
скопировать код в буфер обмена
  1. exec("start /B php.exe -f c:\WebServers\home\localhost\www\0_papka\script1.php");
  2. exec("start /B php.exe -f c:\WebServers\home\localhost\www\1_papka\script2.php");

Итог: запускается, но последовательно

Не знаю, что делать.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB