diff options
author | feld <feld@FreeBSD.org> | 2015-02-18 23:09:47 +0800 |
---|---|---|
committer | feld <feld@FreeBSD.org> | 2015-02-18 23:09:47 +0800 |
commit | f52e4d06e853bf4213f5ad70978f60e0ff4daa96 (patch) | |
tree | 7a1f87ec98601243dce85cf1ee1e603afbe85375 /multimedia | |
parent | 215d0ff2e9dc642037318d9fa9c13c4f195ef815 (diff) | |
download | freebsd-ports-gnome-f52e4d06e853bf4213f5ad70978f60e0ff4daa96.tar.gz freebsd-ports-gnome-f52e4d06e853bf4213f5ad70978f60e0ff4daa96.tar.zst freebsd-ports-gnome-f52e4d06e853bf4213f5ad70978f60e0ff4daa96.zip |
Teach the rc script to clean up leftover children
Diffstat (limited to 'multimedia')
-rw-r--r-- | multimedia/plexmediaserver/Makefile | 2 | ||||
-rw-r--r-- | multimedia/plexmediaserver/files/plexmediaserver.in | 19 |
2 files changed, 19 insertions, 2 deletions
diff --git a/multimedia/plexmediaserver/Makefile b/multimedia/plexmediaserver/Makefile index 7396f6e44fc4..ffb146287c19 100644 --- a/multimedia/plexmediaserver/Makefile +++ b/multimedia/plexmediaserver/Makefile @@ -3,7 +3,7 @@ PORTNAME= plexmediaserver PORTVERSION?= 0.9.11.7.803 -PORTREVISION?= 0 +PORTREVISION?= 1 CATEGORIES= multimedia MASTER_SITES= http://downloads.plexapp.com/plex-media-server/${PORTVERSION}-${PLEX_BUILD}/ \ http://nightlies.plexapp.com/directdl/plex-media-server/dist-ninja/${PORTVERSION}-${PLEX_BUILD}/ diff --git a/multimedia/plexmediaserver/files/plexmediaserver.in b/multimedia/plexmediaserver/files/plexmediaserver.in index fa855560afd6..e11175874482 100644 --- a/multimedia/plexmediaserver/files/plexmediaserver.in +++ b/multimedia/plexmediaserver/files/plexmediaserver.in @@ -33,8 +33,10 @@ load_rc_config $name command=/usr/sbin/daemon procname="%%DATADIR%%/Plex_Media_Server" command_args="-f ${procname}" -start_precmd=plex_precmd pidfile=/var/run/plex/plex.pid +start_precmd=plex_precmd +stop_precmd=plex_stop_precmd +stop_postcmd=plex_stop_postcmd plex_precmd() { @@ -66,4 +68,19 @@ plex_precmd() fi } +plex_stop_precmd() +{ + if [ -r ${pidfile} ]; then + export _PLEXPID=$(check_pidfile ${pidfile} ${procname}) + fi +} + +plex_stop_postcmd() +{ + _PLEX_CHILDREN=$(pgrep -g ${_PLEXPID}) + echo "Cleaning up leftover child processes." + kill $sig_stop ${_PLEX_CHILDREN} + wait_for_pids ${_PLEX_CHILDREN} +} + run_rc_command "$1" |