killprocs: add kill_delay setting

This allows containers using OpenRC based services to be configured to
allow open tcp connections to be closed before they are shut down.

This fixes #476.
This commit is contained in:
William Hubbs 2021-12-07 13:24:47 -06:00
parent 331d6f14fd
commit 0eb11e7db6
3 changed files with 34 additions and 0 deletions

View File

@ -4,3 +4,8 @@
# The setting is called killall5_opts because the options here are meant
# to be identical to those you could pass to killall5.
killall5_opts=""
# If you need to delay after each kill attempt during shutdown, set the amount
# of time you need to delay here. This gets passed directly to sleep in
# the shell.
# kill_delay=0

View File

@ -20,8 +20,10 @@ start()
{
ebegin "Terminating remaining processes"
kill_all 15 ${killall5_opts}
sleep ${kill_delay:-0}
eend 0
ebegin "Killing remaining processes"
sleep ${kill_delay:-0}
kill_all 9 ${killall5_opts}
eend 0
}

27
z Normal file
View File

@ -0,0 +1,27 @@
diff --git a/conf.d/killprocs b/conf.d/killprocs
index 76a2bc9c..1c93b89d 100644
--- a/conf.d/killprocs
+++ b/conf.d/killprocs
@@ -4,3 +4,7 @@
# The setting is called killall5_opts because the options here are meant
# to be identical to those you could pass to killall5.
killall5_opts=""
+
+# If you need to call sleep after each kill attempt during shutdown, set
+# the amount of time you need to sleep here.
+# sleep_time=0
diff --git a/init.d/killprocs.in b/init.d/killprocs.in
index fcf1364d..7b96a7a7 100644
--- a/init.d/killprocs.in
+++ b/init.d/killprocs.in
@@ -20,8 +20,10 @@ start()
{
ebegin "Terminating remaining processes"
kill_all 15 ${killall5_opts}
+ sleep ${sleep_time:-0}
eend 0
ebegin "Killing remaining processes"
+ sleep ${sleep_time:-0}
kill_all 9 ${killall5_opts}
eend 0
}