You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Guard the initial kill -15 $pids call in root/etc/services.d/plex/finish so it only runs when a Plex Media Server PID was found.
Why
If Plex has already exited by the time the finish script runs, pids is empty and the shell executes kill -15 without a PID. That prints the kill: usage... message during container shutdown. The later SIGKILL block already guards against an empty PID list, so this makes the TERM path match the existing stuck-process path.
Validation
bash -n root/etc/services.d/plex/finish
Reproduced in a downstream Unraid container using plexinc/pms-docker:latest, where the shutdown logs showed kill: usage...; applying the guard removed that message while Plex restarted healthy.
I quoted the PID handling, but used a small kill_pids helper instead of calling kill -15 "$pids" directly because the command substitution can return multiple newline-separated PIDs. Quoting the whole value in a direct kill call would turn multiple PIDs into one argument; the helper reads each PID line and calls kill "$signal" "$pid", so each PID is quoted safely while preserving multi-process behavior.
I applied the same path for both the SIGTERM and SIGKILL calls and checked it with bash -n plus a stubbed multi-PID helper test.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Guard the initial
kill -15 $pidscall inroot/etc/services.d/plex/finishso it only runs when a Plex Media Server PID was found.Why
If Plex has already exited by the time the finish script runs,
pidsis empty and the shell executeskill -15without a PID. That prints thekill: usage...message during container shutdown. The later SIGKILL block already guards against an empty PID list, so this makes the TERM path match the existing stuck-process path.Validation
bash -n root/etc/services.d/plex/finishplexinc/pms-docker:latest, where the shutdown logs showedkill: usage...; applying the guard removed that message while Plex restarted healthy.