summaryrefslogtreecommitdiffstats
path: root/packaging/RedHat/smb.init
blob: f50da2c6b2a86f801a3d28527cc19147a2552a1e (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
#!/bin/sh
#
# chkconfig: 345 91 35
# description: Starts and stops the Samba smbd and nmbd daemons \
#	       used to provide SMB network services.

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

CONFIG=/etc/samba/smb.conf

# Check that smb.conf exists.
[ -f $CONFIG ] || exit 0

# See how we were called.
case "$1" in
  start)
	echo -n "Starting SMB services: "
	daemon smbd -D 	
	daemon nmbd -D 
	echo
	touch /var/lock/subsys/smb
	;;
  stop)
	echo -n "Shutting down SMB services: "

	## we have to get all the smbd process here instead of just the
	## main parent (i.e. killproc) because it can take a long time
	## for an individual process to process a TERM signal
	smbdpids=`ps guax | grep smbd | grep -v grep | awk '{print $2}'`
	for pid in $smbdpids; do
		kill -TERM $pid
	done
	## nmbd is ok to kill using killproc()
	killproc nmbd -TERM
	rm -f /var/lock/subsys/smb
	echo ""
	;;
  status)
	status smbd
	status nmbd
	;;
  restart)
	echo -n "Restarting SMB services: "
	$0 stop
	$0 start
	echo "done."
	;;
  *)
	echo "Usage: smb {start|stop|restart|status}"
	exit 1
esac