Lines 1-56
Link Here
|
1 |
#!/bin/sh |
1 |
#!/bin/sh |
2 |
# $FreeBSD: net-mgmt/devmon/files/devmon.in 313295 2013-03-02 20:20:12Z swills $ |
2 |
# $FreeBSD: net-mgmt/devmon/files/devmon.in 313295 2013-03-02 20:20:12Z swills $ |
3 |
|
|
|
4 |
# PROVIDE: devmon |
3 |
# PROVIDE: devmon |
5 |
# REQUIRE: LOGIN |
4 |
# REQUIRE: LOGIN |
6 |
# KEYWORD: shutdown |
5 |
# KEYWORD: shutdown |
7 |
|
6 |
|
8 |
: ${devmon_enable="NO"} |
7 |
. /etc/rc.subr |
|
|
8 |
|
9 |
name=devmon |
10 |
rcvar=devmon_enable |
11 |
load_rc_config ${name} |
12 |
|
13 |
: ${devmon_enable:=NO} |
9 |
: ${devmon_config="%%PREFIX%%/devmon/devmon.cfg"} |
14 |
: ${devmon_config="%%PREFIX%%/devmon/devmon.cfg"} |
10 |
: ${devmon_db="%%PREFIX%%/devmon/hosts.db"} |
15 |
: ${devmon_db="%%PREFIX%%/devmon/hosts.db"} |
11 |
: ${devmon_pid="/var/run/devmon.pid"} |
16 |
: ${devmon_pid="/var/run/devmon/devmon.pid"} |
|
|
17 |
: ${devmon_user="%%USERS%%"} |
18 |
: ${devmon_group="%%GROUPS%%"} |
12 |
|
19 |
|
13 |
. /etc/rc.subr |
|
|
14 |
|
15 |
name="devmon" |
16 |
rcvar="devmon_enable" |
17 |
load_rc_config $name |
18 |
command="%%PREFIX%%/devmon/devmon" |
20 |
command="%%PREFIX%%/devmon/devmon" |
19 |
command_args="-c ${devmon_config} -d ${devmon_db}" |
21 |
command_args="-c ${devmon_config} -d ${devmon_db}" |
20 |
command_interpreter="/usr/bin/perl" |
22 |
command_interpreter=/usr/bin/perl |
21 |
pidfile=${devmon_pid} |
23 |
pidfile=${devmon_pid} |
22 |
|
24 |
|
23 |
stop_cmd="devmon_stopcmd" |
25 |
start_precmd=devmon_startprecmd |
24 |
status_cmd="devmon_statuscmd" |
26 |
status_cmd=devmon_statuscmd |
|
|
27 |
stop_cmd=devmon_stopcmd |
28 |
|
29 |
devmon_startprecmd() |
30 |
{ |
31 |
if [ ! -e ${devmon_config} ]; |
32 |
then |
33 |
echo "Error: ${devmon_config} does not exist." |
34 |
exit 1; |
35 |
fi |
36 |
|
37 |
TEMPLATESDIR=%%PREFIX%%/devmon/templates |
38 |
if [ ! -e ${TEMPLATESDIR} ] |
39 |
then |
40 |
echo "" |
41 |
echo " ERROR: no templates exist. Please install device templates" |
42 |
echo " to: ${TEMPLATESDIR}" |
43 |
echo " They are available on the devmon SourceForge page via SVN." |
44 |
echo " Note, the older template tarballs do not work reliably." |
45 |
echo "" |
46 |
echo " # svn co svn://svn.code.sf.net/p/devmon/code/trunk/templates ${TEMPLATESDIR}" |
47 |
echo "" |
48 |
exit 1; |
49 |
fi |
50 |
|
51 |
DEVMONLOG=$(grep "^LOGFILE=" ${devmon_config} | awk -F '=' '{print $2}') |
52 |
if [ ! -e ${DEVMONLOG} ]; |
53 |
then |
54 |
install -o devmon -g devmon /dev/null ${DEVMONLOG} |
55 |
fi |
56 |
} |
25 |
|
57 |
|
26 |
devmon_statuscmd() |
58 |
devmon_statuscmd() |
27 |
{ |
59 |
{ |
28 |
if [ ! -e $pidfile ]; |
60 |
if [ ! -e ${pidfile} ]; |
29 |
then |
61 |
then |
30 |
echo "pidfile does not exist. $name is not running?"; |
62 |
echo "pidfile does not exist. ${name} is not running?"; |
31 |
exit 1; |
63 |
exit 1; |
32 |
fi |
64 |
fi |
33 |
|
65 |
|
34 |
if pgrep -F $pidfile >/dev/null; |
66 |
if pgrep -F ${pidfile} >/dev/null; |
35 |
then |
67 |
then |
36 |
echo "$name is running."; |
68 |
echo "${name} is running."; |
37 |
else |
69 |
else |
38 |
echo "$name is not running."; |
70 |
echo "${name} is not running."; |
39 |
exit 1; |
71 |
exit 1; |
40 |
fi |
72 |
fi |
41 |
} |
73 |
} |
42 |
|
74 |
|
43 |
devmon_stopcmd() |
75 |
devmon_stopcmd() |
44 |
{ |
76 |
{ |
45 |
if pgrep -F $pidfile >/dev/null; |
77 |
if pgrep -F ${pidfile} >/dev/null; |
46 |
then |
78 |
then |
47 |
mypid=`cat $pidfile`; |
79 |
mypid=`cat ${pidfile}`; |
48 |
kill $sig_stop $mypid; |
80 |
kill ${sig_stop} ${mypid}; |
49 |
wait_for_pids $mypid; |
81 |
wait_for_pids ${mypid}; |
50 |
else |
82 |
else |
51 |
echo "$name is not running."; |
83 |
echo "${name} is not running."; |
52 |
exit 1; |
84 |
exit 1; |
53 |
fi |
85 |
fi |
54 |
} |
86 |
} |
55 |
|
87 |
|
56 |
run_rc_command "$1" |
88 |
run_rc_command "$1" |