Welcome to WebmasterWorld Guest from

Forum Moderators: coopster & jatar k & phranque

Message Too Old, No Replies

run perl scripts on background



7:08 pm on Sep 6, 2006 (gmt 0)

5+ Year Member

I have a html 'form.html' that will call 'sample.cgi'. After an user submit this form, 'sample.cgi' will be loading. But there is a perl scripts ,'sample.pl', in 'sample.cgi', which takes a while to run, so 'sample.cgi' page will keep on loading until 'sample.pl' stops.

How to let perl scripts, 'sample.pl' run on background? And then that 'sample.cgi' can be loaded quickly.



5:33 am on Sep 7, 2006 (gmt 0)

WebmasterWorld Senior Member rocknbil is a WebmasterWorld Top Contributor of All Time 10+ Year Member

Google for fork.

if ($pid = fork) { ...parent process ... }
else { ... child process ... }


2:23 pm on Sep 7, 2006 (gmt 0)

5+ Year Member

Thanks <b>rocknbil</b>!

I found a link about 'fork': [oreilly.com...]

I run that example in Unix, and it works (run child process in background).

But when I run it in Browser, it doesnot work. Browser (firefox) keeps on loading until child process finished, although we can close browser.


6:01 pm on Sep 7, 2006 (gmt 0)

5+ Year Member

yea, I don't think you can do what you are trying to do. Can you run the other script last instead of first?


6:12 pm on Sep 7, 2006 (gmt 0)

5+ Year Member

What did you mean, Perl-driver?

Form.html: where user fills information.
Sample.cgi: get information from Form.html
Job.pl: use infromation to execute some tasks (but it takes some time)

What I wanted is:
load Sample.cgi and tell user, job is running and email will be sent out when done.

Job.pl will be run on background.

Problem: Sample.cgi keeps on loading until Job.pl finished, although you can forcedly close Sample.cgi.


Many thanks!


8:04 pm on Sep 7, 2006 (gmt 0)

5+ Year Member


sample.cgi does some stuff
print "You will recieve an email shortly";

that should do it. When you run a program from the exec() function the current script is replaced by the new one and the old script is exited. job.pl runs and sends an email when finished.


Featured Threads

Hot Threads This Week

Hot Threads This Month