1119679Smbr#!/bin/bash
2119679Smbr#
3119679Smbr# Version: 1.3
4119679Smbr#
5119679Smbr# chkconfig: - 72 28
6119679Smbr# description: Runs the automount daemon that mounts devices and NFS hosts \
7119679Smbr#	       on demand.
8119679Smbr# processname: amd
9119679Smbr# config: /etc/amd.conf
10119679Smbr#
11119679Smbr
12119679Smbr# we require the /etc/amd.conf file
13119679Smbr[ -f /etc/amd.conf ] || exit 0
14119679Smbr[ -f /etc/sysconfig/amd ] || exit 0
15119679Smbr
16119679Smbr# Source function library.
17119679Smbr. /etc/init.d/functions
18119679Smbr
19119679Smbr# Recover AMDOPTS from /etc/sysconfig/amd.
20119679Smbrif [ -f /etc/sysconfig/amd ] ; then
21119679Smbr	. /etc/sysconfig/amd
22119679Smbrfi
23119679Smbr
24119679SmbrRETVAL=0
25119679Smbrprog=amd
26174294Sobrienprefix=@prefix@
27174294Sobrienexec_prefix=@exec_prefix@
28174294Sobrienamd=@sbindir@/amd
29119679Smbr
30119679Smbrstart() {
31119679Smbr	echo -n "Starting $prog: "
32119679Smbr	daemon $amd -F /etc/amd.conf $AMDOPTS $OPTIONS $MOUNTPTS
33119679Smbr	RETVAL=$?
34119679Smbr	echo
35119679Smbr	[ $RETVAL = 0 ] && touch /var/lock/subsys/amd
36119679Smbr	return $RETVAL
37119679Smbr}
38119679Smbr
39119679Smbrstop() {
40119679Smbr
41119679Smbr	echo -n "Stopping $prog: "
42119679Smbr        # modeled from /usr/sbin/ctl-amd
43119679Smbr	pid=`/usr/sbin/amq -p 2>/dev/null`
44119679Smbr	if [ "$pid" = "" ] ; then
45119679Smbr		# amq -p did not give pid, so try ps
46119679Smbr		pid=`ps acx 2>/dev/null | grep "amd" | sed -e 's/^  *//' -e 's/ .*//'`
47119679Smbr	fi
48119679Smbr	if [ "$pid" = "" ] ; then
49119679Smbr		failure "amd shutdown pid"
50119679Smbr		echo
51119679Smbr		return 1
52119679Smbr	fi
53119679Smbr	kill $pid
54119679Smbr        # and this part is from wait4amd2die
55119679Smbr	delay=5
56119679Smbr	count=6
57119679Smbr	i=1
58119679Smbr	maxcount=`expr $count + 1`
59119679Smbr	while [ $i != $maxcount ]; do
60119679Smbr		# run amq
61119679Smbr		/usr/sbin/amq > /dev/null 2>&1
62119679Smbr		if [ $? != 0 ]
63119679Smbr		then
64119679Smbr			# amq failed to run (because amd is dead)
65119679Smbr			success "amd shutdown"
66119679Smbr			rm -f /var/lock/subsys/amd
67119679Smbr			echo
68119679Smbr			return 0
69119679Smbr		fi
70119679Smbr		sleep $delay
71119679Smbr		i=`expr $i + 1`
72119679Smbr	done
73119679Smbr	failure "amd shutdown (still up)"
74119679Smbr	echo
75119679Smbr	return 1
76119679Smbr}
77119679Smbr# See how we were called.
78119679Smbrcase "$1" in
79119679Smbr  start)
80119679Smbr        start
81119679Smbr	;;
82119679Smbr  stop)
83119679Smbr        stop
84119679Smbr	;;
85119679Smbr  status)
86119679Smbr	status $amd
87119679Smbr	;;
88119679Smbr  restart)
89119679Smbr	stop
90119679Smbr	start
91119679Smbr	;;
92119679Smbr  condrestart)
93119679Smbr        if [ -f /var/lock/subsys/amd ]; then
94119679Smbr	    stop
95119679Smbr	    start
96119679Smbr	fi
97119679Smbr	;;
98119679Smbr  reload)
99119679Smbr	action "Reloading $prog:" killall -HUP $amd
100119679Smbr	;;
101119679Smbr  *)
102119679Smbr 	echo "Usage: $0 {start|stop|restart|reload|condrestart|status}"
103119679Smbr	exit 1
104119679Smbresac
105119679Smbr
106119679Smbrexit 0
107