hi,
i'm experiencing something strange here, maybe you guys can help me. that's the code:
#!/usr/bin/perl use strict; use POSIX ":sys_wait_h"; sub REAPER { 1 until waitpid(-1, WNOHANG) == -1 } $SIG{CHLD} = \&REAPER; my $run = 0; while (1) { my $pid = fork; if (defined $pid && $pid == 0) { # child my $gna; # demo workload, could be everything for ("aaaaa" .. "bbbbb") { $gna = uc $_; } exit; } else { sleep 1; $run++; print "\n$run\n"; } }
my approach was to create a parent process which increments the $run every second, regardless of the workload done by the child-process. unfortunately that doesn't work. it seems as if there was no sleep. can you help? what am i doing wrong?
everything i want is a parent that counts from 1 to whatever every second and a child to do the dirty work.
thanks in advance!
In reply to fork() doesn't care about my sleep()? by ap0calypse
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |