http://www.perlmonks.org?node_id=419288


in reply to How best to see if syslogd is running?

Why not:

$pid = "/var/log/syslog.pid"; unless (stat($pid)) { print "$pid not running\n"; }

Is there a reason why running stat on the pid file is a Bad Idea? I'm not suggesting it's the best way, mind. I'm just wondering if it's acceptable.

Updated: Thanks, bluto. I'd totally let that evacuate my brain. Cat the pid file to get the process id for which to grep in ps. Buh.

So, just to run mine into the ground:

$pid = "/var/run/syslogd.pid"; if (stat($pid)) { open(PID, "< $pid"); my $id = <PID>; chomp $id; if($id) { print "$id running\n"; } else { print "$pid not running\n"; } close PID; } else { print "$pid not running\n"; }

... but it's just for my own excercise at this point. The stat is pointless, since I could just as easily bail if it dies on opening the file in the file handle.



--
Amatuers discuss tactics. Professionals discuss logistics.

And... my cat's breath smells like cat food.