CGI/Perl Guide | Learning Center | Forums | Advertise | Login
Site Search: in

  Main Index MAIN
INDEX
Search Posts SEARCH
POSTS
Who's Online WHO'S
ONLINE
Log in LOG
IN

Home: Perl Programming Help: Beginner:
PERL: stop and restart parent process without killing child

 



zradu
New User

Jan 6, 2012, 3:41 AM

Post #1 of 1 (1275 views)
PERL: stop and restart parent process without killing child Can't Post

This my code download EPG with xmltv grabber and send commands to tvtime (tvtime-command) to display a message (Wait several minutes while EPG updates...) along the bottom of the OSD.

If program tvtime does not running, is useless to display a message in tvtime and i want to stop parent process (send commands to tvtime), without killing child (EPG updates...) and if tvtime will be open later while child not finished (EPG updates...), restart parent process (send commands to tvtime).

(if "ps aux | grep tvtvime" exist)


Code
use strict; 
use warnings;
use File::Temp qw(tempfile);

$tmp = new File::Temp( UNLINK => 0 );;

defined(my $pid = fork) or die "Couldn't fork: $!";

#child process
if ($pid == 0) {
system("tv_grab_fi | tv_sort >> $tmp");
my $HOME = $ENV{HOME};
system("mv $tmp $HOME/.xmltv/EPG.xml");
unlink($tmp);
exit;
}

use POSIX qw(:sys_wait_h);

#parent process
while (! waitpid($pid, WNOHANG)) {
system("tvtime-command DISPLAY_MESSAGE \'Wait several minutes while EPG updates...\'");
sleep 1;
}


Thanks


(This post was edited by zradu on Jan 7, 2012, 2:48 AM)

 
 


Search for (options) Powered by Gossamer Forum v.1.2.0

Web Applications & Managed Hosting Powered by Gossamer Threads
Visit our Mailing List Archives