[arch-projects] [RFC] [PATCH] [initscripts] Add killall5 omit pid functionality.
Gerardo Exequiel Pozzi
vmlinuz386 at yahoo.com.ar
Mon May 16 22:22:57 EDT 2011
(me) Update the offsets so can be merged now without any issues and respect
the indentation.
Implements FS#10536 - [initscripts] internal: save a pid from killall5
All credits to: Kurt J. Bosch
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar>
---
functions | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/functions b/functions
index fd0928e..6d279cc 100644
--- a/functions
+++ b/functions
@@ -222,6 +222,14 @@ ck_status() {
fi
}
+# PIDs to be omitted by killall5
+declare -a omit_pids
+
+add_omit_pids() {
+ omit_pids+=( $@ )
+}
+
+
kill_everything() {
# $1 = where we are being called from.
# This is used to determine which hooks to run.
@@ -241,12 +249,16 @@ kill_everything() {
# Terminate all processes
stat_busy "Sending SIGTERM To Processes"
run_hook "$1_prekillall"
- /sbin/killall5 -15 &> /dev/null
+ local pid k5args=""
+ for pid in ${omit_pids[@]}; do
+ k5args+=" -o $pid"
+ done
+ /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.5.1
More information about the arch-projects
mailing list