Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Converting Proc::Background Tasks To Server

by sierpinski (Chaplain)
on Dec 21, 2014 at 06:29 UTC ( [id://1110932]=note: print w/replies, xml ) Need Help??


in reply to Converting Proc::Background Tasks To Server

I'm not exactly sure what you are asking. You mentioned a problem with command initialization time, but then you're asking for a suggestion on CPAN modules.

What exactly are you spawning with the Proc::Background? A shell? Then you want to send more commands to it? I'm curious why you wouldn't just fork a new Proc::Background process with a new command. Perhaps if you gave a solid example of what you are trying to accomplish?

Perhaps I'm just not understanding your question...
  • Comment on Re: Converting Proc::Background Tasks To Server

Replies are listed 'Best First'.
Re^2: Converting Proc::Background Tasks To Server
by jabowery (Beadle) on Dec 21, 2014 at 08:11 UTC
    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.
      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.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1110932]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (2)
As of 2024-04-26 06:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found