--- deluged 2012-06-25 19:38:30.934720508 -0500 +++ deluged.patched 2012-06-25 19:38:40.781334002 -0500 @@ -7,8 +7,10 @@ PIDFILE=/run/deluge/deluged.pid OPTIONS="-P $PIDFILE $OPTIONS" -[[ -f $PIDFILE ]] && PID=$(<$PIDFILE) -kill -0 $PID || PID= +[ -f $PIDFILE ] && PID=$(<$PIDFILE) +for ROGUE in $(pgrep -d' ' -f /usr/bin/deluged); do + [ x$ROGUE == x$PID ] || kill -9 $ROGUE &>/dev/null +done case "$1" in start) @@ -27,6 +29,7 @@ if [ $? -gt 0 ]; then stat_fail else + rm $PIDFILE rm_daemon deluged stat_done fi --- deluge-web 2012-06-25 19:38:36.918021563 -0500 +++ deluge-web.patched 2012-06-25 19:38:45.377975612 -0500 @@ -7,8 +7,10 @@ PIDFILE=/run/deluge/deluge-web.pid WEB_OPTIONS="-f $WEB_OPTIONS" -[[ -f $PIDFILE ]] && PID=$(<$PIDFILE) -kill -0 $PID || PID= +[ -f $PIDFILE ] && PID=$(<$PIDFILE) +for ROGUE in $(pgrep -d' ' -f /usr/bin/deluge-web); do + [ x$ROGUE == x$PID ] || kill -9 $ROGUE &>/dev/null +done case "$1" in start) @@ -18,7 +20,7 @@ stat_fail else sleep 1 - echo $(pgrep -u deluge deluge-web) > $PIDFILE + echo $(pgrep -u deluge deluge-web) > $PIDFILE && chown deluge:deluge $PIDFILE add_daemon deluge-web stat_done fi #