File: init.d

package info (click to toggle)
rpcbind 1.2.5-8
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 996 kB
  • sloc: ansic: 5,607; sh: 1,350; makefile: 72
file content (101 lines) | stat: -rw-r--r-- 2,507 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/bin/sh
#
# start/stop rpcbind daemon.

### BEGIN INIT INFO
# Provides:          rpcbind portmap
# Required-Start:    $network $local_fs
# Required-Stop:     $network $local_fs
# Default-Start:     S
# Default-Stop:      0 1 6
# Short-Description: RPC portmapper replacement
# Description:       rpcbind is a server that converts RPC (Remote
#                    Procedure Call) program numbers into DARPA
#                    protocol port numbers. It must be running in
#                    order to make RPC calls. Services that use
#                    RPC include NFS and NIS.
### END INIT INFO

test -f /sbin/rpcbind || exit 0

. /lib/lsb/init-functions

OPTIONS="-w"
STATEDIR=/run/rpcbind
PIDFILE=/run/rpcbind.pid

if [ -f /etc/default/rpcbind ]
then
    . /etc/default/rpcbind
elif [ -f /etc/rpcbind.conf ]
then
    . /etc/rpcbind.conf
fi

start ()
{
    if [ ! -d $STATEDIR ] ; then
        mkdir $STATEDIR
        chown _rpc:root $STATEDIR
        chmod 0755 $STATEDIR
    fi
    if [ `ls -dl "$STATEDIR" | grep -cE '^drwxr-xr-x [0-9]+ _rpc root '` -lt 1 ] ; then
        log_begin_msg "$STATEDIR not owned by root"
        log_end_msg 1
        exit 1
    fi
    [ -x /sbin/restorecon ] && /sbin/restorecon $STATEDIR
    pid=$( pidofproc /sbin/rpcbind )
    if [ -n "$pid" ]
    then
        log_action_msg "Already running: rpcbind"
        exit 0
    fi
    log_daemon_msg "Starting RPC port mapper daemon" "rpcbind"
    start-stop-daemon --start --quiet --oknodo --exec /sbin/rpcbind -- "$@"
    pid=$( pidofproc /sbin/rpcbind )
    echo -n "$pid" >"$PIDFILE"
    # /run/sendsigs.omit.d is created by /etc/init.d/mountkernfs.sh
    ln -sf "$PIDFILE" /run/sendsigs.omit.d/rpcbind
    log_end_msg $?

}

stop ()
{
    log_daemon_msg "Stopping RPC port mapper daemon" "rpcbind"
    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --oknodo --exec /sbin/rpcbind
    rm -f "$PIDFILE"
    log_end_msg $?
}

case "$1" in
    start)
        if init_is_upstart; then
            exit 1
        fi
        start $OPTIONS
        ;;
    stop)
        if init_is_upstart; then
            exit 0
        fi
        stop
        ;;
    restart|force-reload)
        if init_is_upstart; then
            exit 1
        fi
        stop
        start $OPTIONS
        ;;
    status)
        status_of_proc /sbin/rpcbind rpcbind && exit 0 || exit $?
        ;;
    *)
        log_success_msg "Usage: /etc/init.d/rpcbind {start|stop|force-reload|restart|status}"
        exit 1
        ;;
esac

exit 0