blob: 00b8dcbb100a35a48c93ac7dc0141657811ba76c (
plain)
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
|
#!/bin/sh
#
# Start/stops the Samba daemons (nmbd and smbd).
#
#
# Defaults
RUN_MODE="daemons"
# Reads config file (will override defaults above)
[ -r /etc/default/samba ] && . /etc/default/samba
NMBDPID=/var/run/samba/nmbd.pid
SMBDPID=/var/run/samba/smbd.pid
# clear conflicting settings from the environment
unset TMPDIR
# If Samba is running from inetd then there is nothing to do
if [ "$RUN_MODE" = "inetd" ]; then
# INIT_VERSION is defined for scripts than run directly from init...
if [ "$INIT_VERSION" = "" ]; then
cat <<EOF
Warning: Samba is set to start from inetd; this script has no effect.
Run "dpkg-reconfigure samba" if you want Samba to be started and stopped
from this script. If you want to continue running Samba from inetd, you
should use "killall nmbd smbd" to restart the service, or update-inetd
to disable/reenable it.
EOF
fi
exit 0
fi
# See if the daemons are there
test -x /usr/sbin/nmbd -a -x /usr/sbin/smbd || exit 0
case "$1" in
start)
echo -n "Starting Samba daemons:"
echo -n " nmbd"
start-stop-daemon --start --quiet --exec /usr/sbin/nmbd -- -D
echo -n " smbd"
start-stop-daemon --start --quiet --exec /usr/sbin/smbd -- -D
echo "."
;;
stop)
echo -n "Stopping Samba daemons: "
start-stop-daemon --stop --quiet --pidfile $NMBDPID
# Wait a little and remove stale PID file
sleep 1
if [ -f $NMBDPID ] && ! ps h `cat $NMBDPID` > /dev/null
then
# Stale PID file (nmbd was succesfully stopped),
# remove it (should be removed by nmbd itself IMHO.)
rm -f $NMBDPID
fi
echo -n "nmbd "
start-stop-daemon --stop --quiet --pidfile $SMBDPID
# Wait a little and remove stale PID file
sleep 1
if [ -f $SMBDPID ] && ! ps h `cat $SMBDPID` > /dev/null
then
# Stale PID file (nmbd was succesfully stopped),
# remove it (should be removed by smbd itself IMHO.)
rm -f $SMBDPID
fi
echo "smbd."
;;
reload)
echo -n "Reloading /etc/samba/smb.conf (smbd only)"
start-stop-daemon --stop --signal HUP --pidfile $SMBDPID
echo "."
;;
restart|force-reload)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: /etc/init.d/samba {start|stop|reload|restart|force-reload}"
exit 1
;;
esac
exit 0
|