I, on the other hand, don't understand why you are using fork() at all.
use strict; use warnings; use 5.010; use List::Util qw{ shuffle }; my $interval = 2; #seconds my $total_time = 1; #minutes my $num_checks = ($total_time * 60) / $interval; my $start_time = time; my @status = ('up') x 9; push @status, 'down'; #1 in 10 chance server will be down $| = 1; MONITOR_STATUS_LOOP: for (1 .. $num_checks) { my $result = (shuffle @status)[0]; say $result; my $elapsed_time = time - $start_time; say "time left: ", $total_time * 60 - $elapsed_time, " seconds"; last MONITOR_STATUS_LOOP if $result eq 'down'; sleep $interval; } say "on with the rest of the script"; --output:-- up time left: 60 seconds up time left: 58 seconds up time left: 56 seconds down time left: 54 seconds on with the rest of the script
In reply to Re: Having a difficult time understanding fork()
by 7stud
in thread Having a difficult time understanding fork()
by walkingthecow
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |