Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Running a process in the background

by tstock (Curate)
on Nov 23, 2004 at 22:04 UTC ( #409997=note: print w/replies, xml ) Need Help??

in reply to Running a process in the background

You will need to fork a child process, so while that one is doing the "background" work, the parent can keep going.

If you have several background processes to run at the same time, Parallel::ForkManager is good.

  • Comment on Re: Running a process in the background

Replies are listed 'Best First'.
Re^2: Running a process in the background
by Anonymous Monk on Nov 23, 2004 at 22:07 UTC

    Thanks for your response. Can you give me an example of how to use fork to start a function in a perl module in the background?

    Thank you.

      if (my $pid = fork) { # parent ($pid is process id of child) parent_function(); } else { # child child_function(); exit; }
      Feel free to read perldoc -f fork, and look at some examples online. This is not really advanced perl, but it requires some attention.
        From personal experience, the exit is key. Let's just say that I'm glad that I had my own Sun workstation when I started experimenting with fork...*cough*fork bomb*cough*


        Feel the white light, the light within
        Be your own disciple, fan the sparks of will
        For all of us waiting, your kingdom will come

        Hello, Remember to check for a fork error after forking:
        if (my $pid = fork) { ## Parent } elsif ($pid == 0) { ## Child } else { ## Error, $pid is undefined }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://409997]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2018-06-24 14:03 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.