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

  Main Index MAIN
Search Posts SEARCH
Who's Online WHO'S
Log in LOG

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


New User

Jan 6, 2012, 3:41 AM

Post #1 of 1 (1276 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)

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");

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;


(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