Page 1 of 1

[Solved] Fedora init script doesn't stop Serviio

PostPosted: Sun Oct 02, 2011 7:14 pm
by mrforsythexeter
Me again, I have created an init script using the fedora Template. However it fails to stop serviio. My best guess is that its stopping the sh script which launches serviio, but not the child(ren) it starts. Any ideas?

  Code:
#!/bin/sh
#
# serviio       Serviio Startup Script
#
# chkconfig:   35 50 80
# description:  Simple script to start Serviio

### BEGIN INIT INFO
# Provides: Serviio
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

exec="/usr/sbin/serviio/bin/serviio.sh"
prog="serviio"
user="serviio"

[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

lockfile=/var/lock/subsys/$prog

start() {
    [ -x $exec ] || exit 5
    echo -n $"Starting $prog: "
    # if not running, start it up here, usually something like "daemon $exec"
    daemon --user $user $exec &
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    # stop it here, often "killproc $prog"
    killproc $prog
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    stop
    start
}

reload() {
    restart
}

force_reload() {
    restart
}

rh_status() {
    # run checks to determine if the service is running or use generic status
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
        exit 2
esac
exit $?

Re: Fedora init script (SysVInitScript) doesn't stop Serviio

PostPosted: Sun Oct 02, 2011 8:19 pm
by Cerberus
serviioservice ;) rather than serviio, would be my guess. also check out this post.

viewtopic.php?f=17&t=71


Mods: can we move to third party section please :)

Re: Fedora init script (SysVInitScript) doesn't stop Serviio

PostPosted: Sun Oct 02, 2011 9:52 pm
by mrforsythexeter
Thank you for forcing me to read that post yet again, even though it didn't give me a direct answer, it made me determined to create my own script which works. Here it is encase any one wants it... you will need to change exec and user line

!!! Important, I run serviio as its own user, nothing else runs on it.. becuase of this I stop serviio completely by killing all process's by user, be careful... you have been warned!

  Code:
#!/bin/sh
#
# serviio       Serviio Startup Script
#
# chkconfig:   35 50 80
# description:  Simple script to start Serviio

### BEGIN INIT INFO
# Provides: Serviio
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

exec="/usr/sbin/serviio/bin/serviio.sh"
prog="serviio"
user="serviio"

[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

lockfile=/var/lock/subsys/$prog

start() {
    [ -x $exec ] || exit 5
    echo -n $"Starting $prog: "
    # if not running, start it up here, usually something like "daemon $exec"
    daemon --user $user $exec &
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    # stop it here, often "killproc $prog"
    /usr/bin/pkill -U $user
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    stop
    start
}

reload() {
    restart
}

force_reload() {
    restart
}

rh_status() {
    # run checks to determine if the service is running or use generic status
    status $prog
}

case "$1" in
    start|stop|restart|reaload|force-reload)
        $1
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
        exit 2
esac
exit $?