You may want to take a look at Watchdog::Process. I've never used it before, but 'watchdog' is normally what you call a process that monitors another one, and a quick search turned that up.
Update: Well, if that one's out, I can offer the following logic, that I wrote ~5 years ago to sense if the process I was called was already running. it was written for Solaris, but you can change the arguments to ps to fit for BSD.]
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; }
Okay, I admit...it was from a shell script originally, and I just recycled the same command, rather than spending the time to figure out how to track processes from within Perl.
In reply to Re: Unix process number on a mac...
by jhourcle
in thread Unix process number on a mac...
by zakzebrowski
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |