in reply to Re: Converting Proc::Background Tasks To Server
in thread Converting Proc::Background Tasks To Server

A simplified example of the current code might be:
while(1){ # a bunch of stuff $command = some calculated command; $args = some calculated args; $proc{"$command $args"} = Proc::Background->new("$command $args 1> +&2 >some.log") unless $proc{"$command $args"}->alive; # a bunch of stuff }
In this example, $command is being spawned off and must bring up a new process every time. I'd rather just be able to, say, repeatedly write "$args 1>&2 >some.log\n" to a pipe and then have the new line fork off a process from a $command that has already been initialized -- with something analogous to "->alive" to tell me when it is ok to fork off another similar $command.

Replies are listed 'Best First'.
Re^3: Converting Proc::Background Tasks To Server
by sierpinski (Chaplain) on Dec 21, 2014 at 16:04 UTC
    Proc::Background has a wait function that you can use to get the status code of the child process, however...

    It sounds to me that Proc::Background isn't really suited for what you need. From reading the docs, it just seems like a wrapper for starting/killing/waiting on processes, so that's basically just fork, wait, etc. If you need to communicate with a running process, I think perlipc is better suited to your needs.