From e38ae0ccaf62a0083ccd2d4928dabe3e4c5e4a29 Mon Sep 17 00:00:00 2001 From: OmarB97 <21279036+OmarB97@users.noreply.github.com> Date: Mon, 18 May 2026 15:14:56 -0700 Subject: [PATCH 1/2] Guard Plex finish kill when no PID is found --- root/etc/services.d/plex/finish | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/root/etc/services.d/plex/finish b/root/etc/services.d/plex/finish index f83c58d6..3610da6b 100644 --- a/root/etc/services.d/plex/finish +++ b/root/etc/services.d/plex/finish @@ -5,7 +5,9 @@ echo "Stopping Plex Media Server." # Ask nicely pids="$(ps -ef | grep 'Plex Media Server' | grep -v grep | awk '{print $2}')" -kill -15 $pids +if [ "$pids" != "" ]; then + kill -15 $pids +fi sleep 5 From c506e4957ddb23c31dbdb2cf637e1dbda59e7662 Mon Sep 17 00:00:00 2001 From: Omar Baradei Date: Fri, 22 May 2026 07:02:42 -0700 Subject: [PATCH 2/2] Quote finish script pid kills --- root/etc/services.d/plex/finish | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/root/etc/services.d/plex/finish b/root/etc/services.d/plex/finish index 3610da6b..6b621a56 100644 --- a/root/etc/services.d/plex/finish +++ b/root/etc/services.d/plex/finish @@ -3,10 +3,22 @@ echo "Stopping Plex Media Server." +kill_pids() { + local signal="$1" + local pids="$2" + local pid + + while IFS= read -r pid; do + if [ "$pid" != "" ]; then + kill "$signal" "$pid" + fi + done <<< "$pids" +} + # Ask nicely pids="$(ps -ef | grep 'Plex Media Server' | grep -v grep | awk '{print $2}')" if [ "$pids" != "" ]; then - kill -15 $pids + kill_pids -15 "$pids" fi sleep 5 @@ -15,6 +27,6 @@ sleep 5 pids="$(ps -ef | grep /usr/lib/plexmediaserver | grep -v grep | awk '{print $2}')" if [ "$pids" != "" ]; then - kill -9 $pids + kill_pids -9 "$pids" sleep 2 fi