diff options
Diffstat (limited to 'packaging/debian/samba-server.samba.init')
-rw-r--r-- | packaging/debian/samba-server.samba.init | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/packaging/debian/samba-server.samba.init b/packaging/debian/samba-server.samba.init new file mode 100644 index 0000000000..9b276dd658 --- /dev/null +++ b/packaging/debian/samba-server.samba.init @@ -0,0 +1,63 @@ +#! /bin/sh + +# +# Start/stops the Samba daemon (smbd). +# Adapted from the Samba 3 packages. +# + +SMBDPID=/var/run/samba/smbd.pid + +# clear conflicting settings from the environment +unset TMPDIR + +# See if the daemon and the config file are there +test -x /usr/sbin/smbd -a -r /etc/samba/smb.conf || exit 0 + +. /lib/lsb/init-functions + +case "$1" in + start) + log_daemon_msg "Starting Samba 4 daemon" "smbd" + + if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/smbd -- -D; then + log_end_msg 1 + exit 1 + fi + + log_end_msg 0 + ;; + stop) + log_daemon_msg "Stopping Samba 4 daemon" "smbd" + + 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 (smbd was succesfully stopped), + # remove it (should be removed by smbd itself IMHO.) + rm -f $SMBDPID + fi + + log_end_msg 0 + + ;; + reload) + log_daemon_msg "Reloading /etc/samba/smb.conf" "smbd only" + + start-stop-daemon --stop --signal HUP --pidfile $SMBDPID + + log_end_msg 0 + ;; + 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 |