Annotation of embedaddon/ntp/scripts/rc2/local.ntpd, revision 1.1

1.1     ! misho       1: #! /usr/bin/perl -w
        !             2: # 980904 Harlan Stenn - created
        !             3: 
        !             4: # vvv CHANGE THESE vvv
        !             5: 
        !             6: $ps = "/bin/ps x |";
        !             7: 
        !             8: $ntp_conf = "/etc/ntp.conf";
        !             9: $ntpd = "/usr/local/bin/xntpd";
        !            10: $ntpdate = "/usr/local/bin/ntpdate -b -s 10.0.0.1 10.0.0.2";
        !            11: 
        !            12: # ^^^ CHANGE THESE ^^^
        !            13: 
        !            14: {
        !            15:   if (0)
        !            16:     {
        !            17:     }
        !            18:   elsif ($ARGV[0] eq "start")
        !            19:     {
        !            20:       @pidlist = pidlist($ntpd);
        !            21:       if (defined(@pidlist))
        !            22:         {
        !            23:          warn "NTP is already running\n";
        !            24:         }
        !            25:       else
        !            26:         {
        !            27:          if ( -f $ntp_conf && -x $ntpd )
        !            28:            {
        !            29:               system ($ntpdate);
        !            30:               system ($ntpd." -c ".$ntp_conf);
        !            31:            }
        !            32:         }
        !            33:     }
        !            34:   elsif ($ARGV[0] eq "stop")
        !            35:     {
        !            36:       @pidlist = pidlist($ntpd);
        !            37:       kill 'TERM', @pidlist if (scalar(@pidlist) > 0);
        !            38:     }
        !            39:   else
        !            40:     {
        !            41:       die "Usage: $0 {start,stop}\n";
        !            42:     }
        !            43: }
        !            44: 
        !            45: sub pidlist ($)
        !            46:   {
        !            47:     my ($target) = @_;
        !            48:     my ($qt) = quotemeta($target);
        !            49:     my @pids;
        !            50: 
        !            51:     open(PS, $ps) || die "Can't run ps: $!\n";
        !            52:     while (<PS>)
        !            53:       {
        !            54:        chomp;
        !            55:        next unless (/$qt/);
        !            56:        print "Got <$_>\n";
        !            57:        if (/^\s*(\d+)\s+/)
        !            58:          {
        !            59:            push @pids, $1;
        !            60:          }
        !            61:       }
        !            62:     close(PS);
        !            63:     return @pids;
        !            64:   }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>