Hi Ram,

On Wed, 13 Jul 2011 19:02:46 +0530
Ramprasad Prasad <ramprasad...@gmail.com> wrote:

> I am trying a http API that would fork a background script and immediately
> return
> 
> I tried using fork() and setsid() or using Proc::Background
> But the problem is my API hangs until the background script is complete
>
> 
> Is there a way I can avoid this
> 
> 
> My code is here ( uses both fork and background  .. neither works :-( )
> 
> 
> #!/usr/bin/perl
> #
> #
> use strict;
> use CGI;
> use Proc::Background;
> 
> $process = "/path/script";    #

This will not compile with "use strict;" above. You need to add a "my". So I
guess your code fails previously.

> print "Content-Type: text/plain\n\n";

Please use CGI.pm's ->header() function for that.

> $SIG{CHLD}='IGNORE';
> my $pid = fork();
> setsid();

I don't think you should call setsid() in both the parent *and* child.

> print "STARTED\n";
> exit if($pid);
> my $proc1 = Proc::Background->new($process);

What's going on here?

> exit 0;
> 

Regards,

        Shlomi Fish

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
Chuck Norris/etc. Facts - http://www.shlomifish.org/humour/bits/facts/

Bill Gates, CEO of Microsoft decides to use Richard Stallman’s Emacs as the
basis of his company’s state‐of‐the‐art product Microsoft Editing Macros™
Enterprise Edition XP .NET Professional.

Please reply to list if it's a mailing list post - http://shlom.in/reply .

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to