interesting code you have there. I need some helping understanding it though
after you fork, does the child process actually modify "my %kids" ? I tried to do something similar with an array, but when I called it I got back a reference to an array. do you know why? (code is below)
in your second loop, you wait for the kids to finish their process and print to stdout the actual return value, is this possible to track? for example I want to have this run all day so I'm thinking I could keep a hash that has these return values and times for tracking purposes
foreach $element (@updevices){ @ip = split(':',$element); die "Could not fork()\n" unless defined ($pid = fork); if ($pid) { push @pids, $pid; next;} system("ping $ip[2] 1 > /dev/null"); $result = $?; print "ping $ip[0] $ip[2] $result\n"; if ( $result != 0) { print "$ip[0] is dead\n"; push(@dead, $ip[0]); } exit; }
In reply to Re^2: Problem with exit status of bash script
by dizzyd719
in thread Problem with exit status of bash script
by dizzyd719
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |