On 8/2/05, Ram <[EMAIL PROTECTED]> wrote:
> I have a situation where a CGI script has to start an independent perl
> script and exit without capturing the output or waiting for the exit code.
> It doesnt make any practicle sense to me as this perl script takes good 6
> hours to run and my CGI script obviously shouldnt keep the user waiting.
> 
> exec command doesnt seem to work, nor system command combined with
> ampersand(&) in command.
> 
> I tried
> 
> exec("command");
> and also
> system("command &");
> 
> Niether seemed to work, for the reason which I assume is, since it is a CGI
> script and webserver waits until this script exits and then displays the
> results to the browser. What was thought to be a simple thing is becoming a
> huge problem.

Let's try this again :) You were most of the way there the first time,
and the shell script thing I suggested is unnecessary.

system("command >/dev/null &"); # works for me

Specifically:

sleep.pl:
#!/usr/bin/perl
$|++;
print STDERR time." start of sleep\n";
sleep(5);
print STDERR time." end of sleep\n";

sleep.cgi:
#!/usr/bin/perl
system('/path/to/sleep.pl >/dev/null &');
print "Content-type: text/html\n\n";
print "<h1>done printing</h1>".time;

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to