The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME

Child::Socket - Socket based IPC plugin for Child

DESCRIPTION

Lets you create a Child object, disconnect from it, and reconnect later in the same or different process.

REQUIREMENT NOTE

Requires UNIX socket support.

SYNOPSIS

use Child qw/child/;
# Build with Socket IPC
my $proc = child {
my $parent = shift;
$parent->say("message1");
my $reply = $parent->read();
} socket => 1;
my $message1 = $proc->read();
$proc->say("reply");

DISCONNECTING AND RECONNECTING

sript1.pl:

#!/usr/bin/perl;
use Child qw/child/;
$proc = child {
my $parent = shift;
# detach will remove the child from the parents process group.
$parent->detach;
$parent->disconnect;
# $parent->connect accepts a client connection
# argument is timeout in seconds
$parent->connect(10);
$parent->say( "Hi" );
} socket => '/tmp/my-socket';
$proc->disconnect;

script2.pl:

#!/usr/bin/perl;
use Child qw/proc_connect/;
my $proc = proc_connect( '/tmp/my-socket' );
my $msg = $proc->read; # "Hi\n"

AUTHORS

Chad Granum exodist7@gmail.com

COPYRIGHT

Copyright (C) 2010 Chad Granum

Child-Socket is free software; Standard perl licence.

Child-Socket is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.