Annotation of embedaddon/ntp/scripts/rc2/local.ntpd, revision 1.1.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>