2010-12-16 14 views
0

私はこの答え php execute a background processPHPプロセスの背景

についての質問をした誰も私の答えは説明して何をしようとする作業を簡単な例を提供することはできますか?

ありがとうございます!唯一のLinuxボックスの

アルベルト

+0

答えがされていることは、シェル以外の文脈で間違っていますセッションが完了していない可能性があります - 産んだプロセスはセッションから分離されていません、それは単なるセッションが終了するまで、並行して実行されます。これはあなたのシナリオに当てはまると確信していますか? – symcbean

答えて

2

:コマンドラインで

<?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)); 
?> 

result.php:

php result.php; 
tail /tmp/result.txt; /* to monitor the results, take 10 seconds to complete */ 
cat /tmp/result.pid /* the pid registered */