grape wrote:
> Hello Richard,
> 
> Richard Lynch skrev:
> 
>>
>> This seems to me like a cogent bug report...
>> http://bugs.php.net/
>>  
>>
> Yup, I'll report it if we cannot find a explaination in a couple of days.

as a last resort you might as on internals@lists.php.net as to whether
anyone there considers this a possible bug.

> 
>> But what does the posix_setsid() bit do?  Seems like you could take
>> that out too, no?...  Or does that "promote" the process to "be" the
>> parent somehow?...  Thereby confusing "fork" into thinking that it's
>> not the child process in some twisted weird way?  I read the docs ;
>> But comprehension is not implied. :-)
>>  
>>
> The documentation on posix_setsid() is a bit sparse on php.net, but the
> manpage for setsid on my FreeBSD system gives:
> 
> DESCRIPTION
>     The setsid() system call creates a new session.  The calling process is
>     the session leader of the new session, is the process group leader of a
>     new process group and has no controlling terminal.  The calling process
>     is the only process in either the session or the process group.
> 
> I found a post on the net describing how to run a PHP-script as a
> daemon, and the author used posix_setsid() for it to work. Actually, the
> posix_setsid() isn't really required to disconnect the childs I/O using
> PHP 5.0.4, I can just do:
> 
> <?
> echo "Hello from parent\n";
> 
> if(pcntl_fork()) {
>   exit;
> }
> 
> fclose( STDIN );
> fclose( STDOUT );
> fclose( STDERR );
> 
> echo "This message should not go to stdout\n";
> ?>
> 
> This is was I originally had in my code, but after moving to 5.1.2 I
> started to experiment... :-)
> 
> A while ago, I discovered that PHP 4.3.10-2 (cli) on a Debian Linux with
> 2.4.27 kernel "misbehaves" as well, using posix_setsid() or not. I see
> the output of the last echo command on stdout of the parent process
> there also.
> 
> The plot thickens!
> 
> /Grape
> 

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

Reply via email to