Re: [webmin-devel] Progressive commands

"Jamie Cameron" <[email protected]> Wed, 21 Oct 2009 00:20:48 -0700 (PDT)
Newsgroups gmane.comp.web.webmin.devel
Message-ID <[email protected]>
On 20/Oct/2009 21:34 David Drayton <[email protected]> wrote ..
> Hey guys,
> 
> I have to run a command that:
> a) displays progressive output as it runs, and
> b) continues to run, even if the user moves to another page
> 
> I have tried the code below, which satisfies (a) but I noticed that when I went
> to another page, it would stop running and so doesn't satisfy (b) as well. Note
> that I am only using ping as a test.
> 
> open(CMD, "ping 127.0.0.1 2>&1 |");
> while(<CMD>) {
> 	print $_;
> }
> close(CMD);

The reason it gets terminated when the user leaves the page is that
the command receives a SIGPIPE signal, which by default kills it.
The way to prevent this is to add the following line at the top of
your Perl script :

$SIG{'PIPE'} = 'IGNORE';

 - Jamie

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
-
Forwarded by the Webmin development list at [email protected]
To remove yourself from this list, go to
http://lists.sourceforge.net/lists/listinfo/webadmin-devel