Hi all,

I would like run a php-script via CLI which outputs some information to stdout, and then go into background. I use code similar to this to fork and to dettach the child I/O from the TTY (some error handling removed to improve readability)

<?
echo "Hello from parent\n";

if(pcntl_fork()) {
  exit;
}

posix_setsid();

fclose( STDIN );
fclose( STDOUT );
fclose( STDERR );

if(pcntl_fork()) {
  exit;
}

echo "This message should NOT go to stdout of parent process\n";
?>

It works fine using PHP version 5.0.4, but when using PHP version 5.1.2 the output of the child ("This message....") goes to stdout of the parent process. So if I do:

php test.php >output

Using PHP 5.1.2, the file contains:

---------------
Hello from parent
This message should NOT go to stdout of parent process
---------------

Can anybody explain this?
I run FreeBSD 6.0-RELEASE...

Regards,

Grape

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to