in reply to Anticipation of future needs and other musings from the crystal ball
Looks good.
I can add a few suggestions. You can reduce the number of lines to search by refining the ps call. It appears that you are checking daemon status, so `ps x` to show only processes with no controlling tty will cut the search space a lot.
You could improve the process check loop like this:
@regexen = @process; for (@regexen) { quotemeta; $_ = qr/$_/; } for ( my $i = 0; $i <= $#alert; $i++ ) { unless(grep /$regexen[$i]/ , @ptable) { $alerts{"$alert[$i]"} .= "\n$message[$i]"; } }
The quotemeta in the regex will save some hard to diagnose errors. and precompiling will likely save time since they are used to scan all the process entries.
A third improvement would be to reformulate your search to stop scanning when a regex matches, and to not check that regex again afterwards. See merlyn's reply to Ovid's (OT) Interview questions -- your response?, question 1.
After Compline,
Zaxo
|
|---|