From 33a73b2fb5d56e6ddd2a29be3b5adc90edad0878 Mon Sep 17 00:00:00 2001 From: ljm42 Date: Fri, 2 Aug 2024 10:33:34 -0700 Subject: [PATCH] Forcibly kill samba if needed --- etc/rc.d/rc.samba | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/etc/rc.d/rc.samba b/etc/rc.d/rc.samba index 32c9bd18a..884fa6f69 100755 --- a/etc/rc.d/rc.samba +++ b/etc/rc.d/rc.samba @@ -37,6 +37,13 @@ samba_running(){ [[ $(pgrep -cf $SMBD) -gt 0 ]] } +samba_waitfor_shutdown(){ + for i in {1..5}; do + if ! samba_running; then break; fi + sleep 1 + done +} + samba_settings(){ [[ -z $COMMENT ]] && COMMENT="" [[ -z $SECURITY ]] && SECURITY="user" @@ -145,9 +152,17 @@ samba_stop(){ if ! samba_running; then REPLY="Already stopped" else + REPLY="Stopped" + # stop gracefully with SIGTERM run killall smbd nmbd wsdd2 winbindd + samba_waitfor_shutdown + if samba_running; then + REPLY="Killed" + # stop forcibly with SIGKILL + run killall -SIGKILL smbd nmbd wsdd2 winbindd + samba_waitfor_shutdown + fi if ! samba_running; then - REPLY="Stopped" # save samba 'secrets' file if changed if [[ -e $PRIVATE/secrets.tdb ]]; then rm -f /tmp/emhttp/secrets.tdb