srlbharu has asked for the wisdom of the Perl Monks concerning the following question:
Hi,
I created the child process using fork and keep the child in the infinite loop. After some time expires, I wanted to kill the child process using kill -9, $pid; which doesnot help. Below is the code:
Here the parent process will aslo run for a long time. I wanted to kill the child before the parent dies. I am running the script in windows XP with perl 5.6 version. Please let me know if any alternatives to kill the child or if I did something wrong.$|=1; $TimeOut = 100; $StopTime = time + $TimeOut; if($cmd =~ /INFINITE/i){ unless (fork){ $child_pid = $$; eval $cmd; while(1){ sleep(1); if (time >= $StopTime){ print "killing child process $$"; kill -9, $child_pid; } } exit 0; } } else{ eval $cmd; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Killing the child process is not working
by BrowserUk (Patriarch) on Mar 20, 2013 at 07:29 UTC | |
by srlbharu (Acolyte) on Mar 20, 2013 at 08:02 UTC | |
by BrowserUk (Patriarch) on Mar 20, 2013 at 08:12 UTC | |
by srlbharu (Acolyte) on Mar 20, 2013 at 09:06 UTC | |
by BrowserUk (Patriarch) on Mar 20, 2013 at 10:16 UTC | |
|
Re: Killing the child process is not working
by kcott (Archbishop) on Mar 20, 2013 at 06:26 UTC |