Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Perl watcher daemon

by Crackers2 (Vicar)
on Jan 18, 2012 at 22:27 UTC ( #948636=note: print w/ replies, xml ) Need Help??


in reply to [Resolved] Perl watcher daemon

if (system(@args1) != 0) { logEntry ("No repeater.pl is running, attempting to re +start"); $repeater; }

I don't think that's doing what you think it does. As far as I can tell the bare $repeater doesn't do anything. You probably want something like

if (system(@args1) != 0) { logEntry ("No repeater.pl is running, attempting to re +start"); $repeater = Proc::Background->new('/etc/squid/repeater +/lib/repeater.pl'); }

Also, Proc::Background has functions for checking whether or not the process is still running, so you may want to use those instead of shelling out to pgrep:

if (!$repeater->alive()) { logEntry ("No repeater.pl is running, attempting to re +start"); $repeater = Proc::Background->new('/etc/squid/repeater +/lib/repeater.pl'); }

Of course that would not detect a process that was already started when your watcher begins. (But in that case you'd currently have 2 running processes anyway since you unconditionally start one with the initial Proc::Background->new call.)


Comment on Re: Perl watcher daemon
Select or Download Code
Re^2: Perl watcher daemon
by kazak (Beadle) on Jan 18, 2012 at 23:11 UTC
    Thank you so much Crackers2 , now it works as a charm.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://948636]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (6)
As of 2014-10-24 07:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (130 votes), past polls