вопрос о system

Тема в разделе "PHP", создана пользователем ivashka, 9 янв 2011.

Модераторы: latteo
  1. ivashka

    ivashka

    Регистр.:
    16 май 2007
    Сообщения:
    151
    Симпатии:
    15
    Здравствуйте.
    Столкнулся с такой проблемой.
    Запускаю скрипт, который мне должен запустить 10 процесов.
    Запускаю ясное дело с командной строки.
    В цикле выполняется команда
    system ("php script.php &");
    Если команду php script.php & запускать с командной строки, то все гуд, в одном скрине можно запустить несколько, ведь амперсант не прерывает работу.
    Но в случае, если с php дергать через систем, то родительский скрипт ожидает завершения скрипта script.php.
    Как сделать что бы просто запустились 10 отдельных скриптом, тоесть родитель не ждал отработки скрипта который запустил?
     
  2. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    нет nohup, и перенаправления stdout/stderr
    также возможность множ. запуска в background зависит от настроек безопасности/пользователя php

    PHP:
    for($i=0;$i<10;$i++) shell_exec("nohup php script.php > /dev/null 2>&1 &");

    echo 
    shell_exec('ps -aux | grep "script.php"');
     
  3. Acidrayne

    Acidrayne

    Регистр.:
    30 сен 2007
    Сообщения:
    296
    Симпатии:
    20
    Подскажите, мне в windows нужно выполнить команды:

    делаю так:
    PHP:
    system("E:/;cd /pws/usr/local/nginx/;start nginx ",$nginx);
    но ничего не выходит,если выполнять из командной строки то все работает!
     
  4. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    в windows & вместо ;
    Код:
    E:&cd pws/user/local/&start nginx       
    
     
    Acidrayne нравится это.