homepage Welcome to WebmasterWorld Guest from
register, free tools, login, search, pro membership, help, library, announcements, recent posts, open posts,
Become a Pro Member

Home / Forums Index / Code, Content, and Presentation / Perl Server Side CGI Scripting
Forum Library, Charter, Moderators: coopster & jatar k & phranque

Perl Server Side CGI Scripting Forum

run perl scripts on background

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

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)

Google for fork.

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


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

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)

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)

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)


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.

Global Options:
 top home search open messages active posts  

Home / Forums Index / Code, Content, and Presentation / Perl Server Side CGI Scripting
rss feed

All trademarks and copyrights held by respective owners. Member comments are owned by the poster.
Home ¦ Free Tools ¦ Terms of Service ¦ Privacy Policy ¦ Report Problem ¦ About ¦ Library ¦ Newsletter
WebmasterWorld is a Developer Shed Community owned by Jim Boykin.
© Webmaster World 1996-2014 all rights reserved