Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Perl watcher daemon

by Crackers2 (Parson)
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 meditating upon the Monastery: (4)
As of 2015-07-05 16:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (67 votes), past polls