From 07f99e14189f0e42a4fb8a948a6f49e1a2cb8d9c Mon Sep 17 00:00:00 2001 From: Kurt J. Bosch Date: Thu, 26 Aug 2010 21:00:47 +0200 Subject: [PATCH] Add killall5 omit pid functionality --- functions | 10 +++++++++- rc.shutdown | 8 ++++++-- rc.single | 8 ++++++-- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/functions b/functions index 672eed2..19683ca 100644 --- a/functions +++ b/functions @@ -218,7 +218,15 @@ ck_status() { status_started else status_stopped - fi + fi +} + +# PIDs to be omitted by killall5 + +declare -a omit_pids + +add_omit_pids() { + omit_pids+=( $* ) } ############################### diff --git a/rc.shutdown b/rc.shutdown index 4eb29cc..cc6843d 100755 --- a/rc.shutdown +++ b/rc.shutdown @@ -44,12 +44,16 @@ done # Terminate all processes stat_busy "Sending SIGTERM To Processes" run_hook shutdown_prekillall -/sbin/killall5 -15 &> /dev/null +k5args="" +if (( ${#omit_pids[@]} )); then + k5args="-o ${omit_pids[*]}" +fi +/sbin/killall5 -15 $k5args &> /dev/null /bin/sleep 5 stat_done stat_busy "Sending SIGKILL To Processes" -/sbin/killall5 -9 &> /dev/null +/sbin/killall5 -9 $k5args &> /dev/null /bin/sleep 1 stat_done diff --git a/rc.single b/rc.single index f986a2a..87df0a5 100755 --- a/rc.single +++ b/rc.single @@ -30,12 +30,16 @@ if [ "$PREVLEVEL" != "N" ]; then # Terminate all processes stat_busy "Sending SIGTERM To Processes" run_hook single_prekillall - /sbin/killall5 -15 &> /dev/null + k5args="" + if (( ${#omit_pids[@]} )); then + k5args="-o ${omit_pids[*]}" + fi + /sbin/killall5 -15 $k5args &> /dev/null /bin/sleep 5 stat_done stat_busy "Sending SIGKILL To Processes" - /sbin/killall5 -9 &> /dev/null + /sbin/killall5 -9 $k5args &> /dev/null /bin/sleep 1 stat_done -- 1.7.0.3