Re: pcntl_fork, catching STDOUT of child?
| From: | FeIn | Date: | Fri, 20 Jan 2012 06:30:10 +0000 |
| Subject: | Re: pcntl_fork, catching STDOUT of child? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-316342@lists.php.net to get a copy of this message | ||
Have a look at zeromq.
http://vimeo.com/20605470
http://zguide.zeromq.org/php:all
Hope it helps.
On Fri, Jan 20, 2012 at 12:24 AM, Thomas Johnson <tom@claimlynx.com> wrote:
> Hello,
>
> PHP noob here. I've been working on writing a script (command-line) that
> forks a number of children to do various tasks. I've been using
> pcntl_waitpid inside a loop to wait for the children to exit, act on the
> results, and fork another copy of the child. Where I seem to be running
> into trouble is in managing communication between child and parent, so that
> the parent has an indication of result inside the child.
>
> In the past, I've done this in Perl using something along the lines of:
>
> open(FILEHANDLE,"-|");
>
> In Perl, this has the effect of forking the process and attaching the
> STDOUT of the child to FILEHANDLE on the parent. Thus, when the child
> exits, I read FILEHANDLE to get the output from the child.
>
> Is there a similar way of achieving a similar result in PHP? Am I crazy? So
> far, I have tried to communicate between the processes using sockets
> (socket_create_pair). However, this seems to be a dead-end, I get a
> "connection reset by peer" when I try to socket_read() from the parent. I
> assume this is because the socket is closed by the exit of the child.
>
> Any insight or criticism is appreciated.
>
> --
> Thomas Johnson
> ClaimLynx, Inc. <952-593-5969%20x2302>
>