> Try this in a script:
> <?php
>   exec( "/bin/sleep 30 >/dev/null 2>&1 </dev/null &" ) ;
>   echo "Done !!" ;
> ?>
> 
> Now call it from the browser several time (Reload button). If you type a ps ax 
>command you will see several "sleep 30" processes. Wait all the processes to stop.
> 
> Now put session_start() as the first line. Press RELOAD: it completes OK. Now press 
>RELOAD again: it hangs !!! It waits for the sleep to terminate before starting the 
>next !! So if you press RELOAD 10 times you need to wait 300 seconds !!
> 
> Is it a normal behaviour ? How can I have a process completely in the background ?

That is by design (for file based session storage at least). 

See http://www.php.net/bugs.php?id=6287&edit=1 and
http://bugs.php.net/?id=10675&edit=1

All access to session variables in PHP4 is serialized. If you want to
start some daemon from inside your php script make it to close all
unused file handles at startup or close the session before exec().

oleg


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to