]> git.decadent.org.uk Git - nfs-utils.git/blob - debian/nfs-common.init
31357bd3543ff1df58d49b66a311776a1a55b81f
[nfs-utils.git] / debian / nfs-common.init
1 #!/bin/sh
2 #
3 # nfs-common    This shell script takes care of starting and stopping
4 #               common daemons required for NFS clients and servers.
5 #
6 # chkconfig: 345 20 80
7 # description: NFS is a popular protocol for file sharing across \
8 #              TCP/IP networks. This service provides NFS file \
9 #              locking functionality.
10 #
11
12 PREFIX=
13
14 NEED_LOCKD=yes
15 if test -f /proc/ksyms
16 then
17     # We need to be conservative and run lockd,
18     # unless we can prove that it isn't required.
19     grep -q lockdctl /proc/ksyms || NEED_LOCKD=no
20 fi
21
22 [ -x $PREFIX/sbin/rpc.statd ] || exit 0
23 [ -x $PREFIX/sbin/rpc.lockd ] || [ "$NEED_LOCKD" = no ] || exit 0
24
25 # What is this?
26 DESC="NFS common utilities"
27
28 # See how we were called.
29 case "$1" in
30   start)
31         cd /    # daemons should have root dir as cwd
32         printf "Starting $DESC:"
33         printf " statd"
34         start-stop-daemon --start --quiet \
35             --exec $PREFIX/sbin/rpc.statd
36         if [ "$NEED_LOCKD" = yes ]
37         then
38             printf " lockd"
39             start-stop-daemon --start --quiet \
40                 --exec $PREFIX/sbin/rpc.lockd
41         fi
42         echo "."
43         ;;
44
45   stop)
46         printf "Stopping $DESC:"
47         if [ "$NEED_LOCKD" = yes ]
48         then
49             printf " lockd"
50             start-stop-daemon --stop --oknodo --quiet \
51                 --name rpc.lockd --user 0
52         fi
53         printf " statd"
54         start-stop-daemon --stop --oknodo --quiet \
55             --name rpc.statd --user 0
56         echo "."
57         ;;
58
59   restart | force-reload)
60         $0 stop
61         sleep 1
62         $0 start
63         ;;
64
65   *)
66         echo "Usage: nfs-common {start|stop|restart}"
67         exit 1
68         ;;
69 esac
70
71 exit 0