From 0f47ce818065fd9d41837803bf48fb3590f35185 Mon Sep 17 00:00:00 2001 From: Linus Kardell Date: Thu, 22 Nov 2018 11:35:08 +0100 Subject: [PATCH] base-files: fix unkillable processes after restart When restart is run on an init script, the script traps SIGTERM. This is done as a workaround for scripts named the same name as the program they start. In that case, the init script process will have the same name as the program process, and so when the init script runs killall, it will kill itself. So SIGTERM is trapped to make the init script unkillable. However, the trap is retained when the init script runs start, and thus processes started by restart will not respond to SIGTERM, and will thus be unkillable unless you use SIGKILL. This fixes that by removing the trap before running start. Signed-off-by: Linus Kardell (cherry picked from commit 2ac1a57677ce4e21513dca2a8efab1eb6e0a9c58) --- package/base-files/files/etc/rc.common | 1 + 1 file changed, 1 insertion(+) diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common index e80af891e68..81a7d075d3f 100755 --- a/package/base-files/files/etc/rc.common +++ b/package/base-files/files/etc/rc.common @@ -23,6 +23,7 @@ reload() { restart() { trap '' TERM stop "$@" + trap - TERM start "$@" }