Проблема запуска фонового процесса PHP - PullRequest
1 голос
/ 11 января 2011

Я недавно создал скрипт, который нужно запускать в фоновом режиме .. Я использую этот код для его запуска ...

function run_in_background($Command, $Priority = 0) {
   if($Priority)
       $PID = exec("nohup nice -n $Priority $Command 2> /dev/null & echo $!");
   else
       $PID = exec("nohup $Command 2> /dev/null & echo $!");
   return($PID);
}

и использую его вот так

run_in_background('curl http://www.mydomain.com/mypage.php',5);

К сожалению, он не работает в фоновом режиме ...

Я также использовал:

shell_exec

вместо

exec

Но все равно не работает.. Что-то не так с моей настройкой? ..

Примечание: он не работает в фоновом режиме, но он работает, когда страница загружена ...

спасибо, дополнительно ...

Ответы [ 2 ]

0 голосов
/ 11 января 2011

Пожалуйста, посмотрите этот ответ, кажется, именно то, что вы ищете:

php выполняет фоновый процесс

0 голосов
/ 11 января 2011

Поместите & в конце вашей команды, чтобы указать оболочке запускать процесс в фоновом режиме.

$PID = exec("nohup nice -n $Priority $Command 2> /dev/null & echo $! &");

Я также задавал и отвечал на аналогичный вопрос, который вы могли бы просмотреть и который может вам помочь: Как запустить PHP-скрипт в фоновом режиме после отправки формы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...