Initial import
[samba] / packaging / RedHat-9 / smb.init
diff --git a/packaging/RedHat-9/smb.init b/packaging/RedHat-9/smb.init
new file mode 100755 (executable)
index 0000000..79f4f32
--- /dev/null
@@ -0,0 +1,59 @@
+#!/bin/sh
+#
+# chkconfig: 345 81 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
+