sub check_running { my $return = `ps -ef | grep process_incoming | grep -v grep | wc -l | tr -d '[:space:]'`; # blah...running from cron, there's two processes -- sh, and perl: if ( $return != 2 and $return != 1 ) { # wrap this in an eval to keep it quiet # (or the 'die' will generate output) eval { &log_error("Aborting -- 'process_incoming' showing in ps [$return]"); }; exit; } return; }