Dettach problem
| From: | grape | Date: | Tue, 13 Jun 2006 09:22:09 +0000 |
| Subject: | Dettach problem | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-237868@lists.php.net to get a copy of this message | ||
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