use Time::HiRes qw( sleep ); my $pid = fork(); die $! if !defined($pid); if ($pid == 0) { for (1..8) { sleep(.250) if $_ != 1; print(time(), "\n"); } } else { $SIG{TTOU}='IGNORE'; sleep 1; kill TTOU => $pid or die $!; sleep 3; kill CONT => $pid or die $!; waitpid($pid, 0); }