Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
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
Replies are listed 'Best First'.
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 chilling in the Monastery: (10)
As of 2015-07-28 10:26 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 (254 votes), past polls