2010-12-16 5 views
0

Я вопрос об этом ответе php execute a background processPHP фоновый процесс

Может кто-нибудь предоставить мне рабочий простой пример, чтобы попробовать то, что объясняет ответ?

Заранее благодарен!

Альберто

+0

Этот ответ является неправильным в любом контексте, кроме оболочки сессия, и что неспособность завершить - это вероятный результат - нерешенный процесс не отделяется от сеанса, он просто выполняется параллельно, пока сеанс не завершится. Вы уверены, что это относится к вашему сценарию? – symcbean 2010-12-16 17:19:50

ответ

2

только на коробке Линукс:

result.php

<?php 
$cmd = 'for i in {1..5}; do date; sleep 2; done'; 
$outputfile = '/tmp/result.txt'; 
$pidfile = '/tmp/result.pid'; 
exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile)); 
?> 

в командной строке:

php result.php; 
tail /tmp/result.txt; /* to monitor the results, take 10 seconds to complete */ 
cat /tmp/result.pid /* the pid registered */ 
Смежные вопросы