]> git.pld-linux.org Git - packages/nfs-utils.git/blob - nfslock.init
- use functions
[packages/nfs-utils.git] / nfslock.init
1 #!/bin/sh
2 #
3 # nfslock       This shell script takes care of starting and stopping
4 #               the NFS file locking service.
5 #
6 # chkconfig:    345 61 19
7 # description:  NFS is a popular protocol for file sharing across \
8 #               TCP/IP networks. This service provides NFS file \
9 #               locking functionality.
10 # probe:        true
11
12 # Source function library.
13 . /etc/rc.d/init.d/functions
14
15 # Get network config
16 . /etc/sysconfig/network
17
18 # Get service config
19 [ -f /etc/sysconfig/nfslock ] && . /etc/sysconfig/nfslock
20
21 # Check that networking is up.
22 if is_yes "${NETWORKING}"; then
23         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
24                 msg_network_down "NFS lockd"
25                 exit 1
26         fi
27 else
28         exit 0
29 fi
30
31 if [ -x /sbin/pidof ] && [ "$1" != "stop" ]; then
32         [ -z "`/sbin/pidof portmap`" ] && nls "Error: portmap isn't running" && exit 0
33 fi
34
35 # Sanity checks
36 [ -x /usr/sbin/rpc.statd ] || exit 0
37
38 start() {
39         # Check if the service is already running?
40         if [ ! -f /var/lock/subsys/nfslock ]; then
41                 # Start daemons.
42                 msg_starting "NFS statd"
43                 daemon rpc.statd $STATDOPTS
44                 RETVAL=$?
45                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nfslock
46         else
47                 msg_already_running "NFS statd"
48         fi
49 }
50
51 stop() {
52         if [ -f /var/lock/subsys/nfslock ]; then
53                 # Stop daemons.
54                 msg_stopping "NFS statd"
55                 killproc rpc.statd
56                 rm -f /var/lock/subsys/nfslock
57         else
58                 msg_not_running "NFS statd"
59         fi
60 }
61
62 RETVAL=0
63 # See how we were called.
64 case "$1" in
65   start)
66         start
67         ;;
68   stop)
69         stop
70         ;;
71   status)
72         status rpc.statd
73         exit $?
74         ;;
75   restart|force-reload)
76         stop
77         start
78         ;;
79   probe)
80         if [ ! -f /var/lock/subsys/nfslock ]; then
81                 echo start
82                 exit 0
83         fi
84         /sbin/pidof rpc.statd >/dev/null 2>&1; STATD="$?"
85         if [ $STATD = 1 ]; then
86                 echo restart
87                 exit 0
88         fi
89         ;;
90   *)
91         msg_usage "$0 {start|stop|restart|force-reload|probe|status}"
92         exit 3
93 esac
94
95 exit $RETVAL
This page took 0.034242 seconds and 3 git commands to generate.