Hi Ram,
On Wed, 13 Jul 2011 19:02:46 +0530
Ramprasad Prasad <ramprasad.ap@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 .
Thread Previous
|
Thread Next