diff --git a/root/etc/services.d/plex/finish b/root/etc/services.d/plex/finish new file mode 100644 index 0000000..f83c58d --- /dev/null +++ b/root/etc/services.d/plex/finish @@ -0,0 +1,18 @@ +#!/usr/bin/with-contenv bash +# Copied from the init.d stop method from non-Dockerized Plex. + +echo "Stopping Plex Media Server." + +# Ask nicely +pids="$(ps -ef | grep 'Plex Media Server' | grep -v grep | awk '{print $2}')" +kill -15 $pids + +sleep 5 + +# Stuck +pids="$(ps -ef | grep /usr/lib/plexmediaserver | grep -v grep | awk '{print $2}')" + +if [ "$pids" != "" ]; then + kill -9 $pids + sleep 2 +fi diff --git a/root/etc/services.d/plex/timeout-finish b/root/etc/services.d/plex/timeout-finish new file mode 100644 index 0000000..e002b36 --- /dev/null +++ b/root/etc/services.d/plex/timeout-finish @@ -0,0 +1 @@ +8000 diff --git a/root/plex_service.sh b/root/plex_service.sh new file mode 100755 index 0000000..882e40c --- /dev/null +++ b/root/plex_service.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +if [ "$#" -eq 1 ]; then + s6-svc "$1" /var/run/s6/services/plex +else + echo "No argument supplied; must be -u, -d, or -r." +fi