# Check if the service is already running?
if [ ! -f /var/lock/subsys/smb ]; then
msg_starting smbd
- daemon smbd -D
+ daemon /usr/sbin/smbd -D
RETVAL=$?
msg_starting nmbd
- daemon nmbd -D
+ daemon /usr/sbin/nmbd -D
[ $RETVAL -eq 0 ] && RETVAL=$?
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/smb
+ if [ $RETVAL -eq 0 ]; then
+ touch /var/lock/subsys/smb
+ fi
else
msg_already_running smb
fi
fi
}
+condrestart() {
+ if [ -f /var/lock/subsys/smb ]; then
+ stop
+ start
+ else
+ msg_not_running smb
+ RETVAL=$1
+ fi
+}
+
RETVAL=0
# See how we were called.
case "$1" in
start)
- start
+ start
;;
stop)
- stop
- ;;
- status)
- status smbd
- RETVAL=$?
- status nmbd
- RET=$?
- [ $RETVAL -eq 0 ] && RETVAL=$RET
- smbstatus
+ stop
;;
restart)
stop
start
;;
+ try-restart)
+ condrestart 0
+ ;;
reload|force-reload)
if [ -f /var/lock/subsys/smb ]; then
msg_reloading smb
exit 7
fi
;;
+ status)
+ status smbd
+ RETVAL=$?
+ status nmbd
+ RET=$?
+ [ $RETVAL -eq 0 ] && RETVAL=$RET
+ smbstatus
+ ;;
*)
- msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
+ msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
exit 3
esac