a função daemon em /init.d não roda o programa em segundo plano no fedora13

2

Eu uso o Fedora 13 e estou tentando criar um serviço para darkice . Eu coloquei o script no diretório /etc/init.d e, se eu usar o comando service darkice start , o darkice estará sendo executado em primeiro plano e o prompt de comando não será retornado.

Como faço com que darkice seja executado em segundo plano?

A seguir, o trecho do script darkice .

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/darkice
NAME=darkice
DESC="Darkice live audio streamer"

test -x $DAEMON || exit 0
CONFIGFILE="/etc/darkice.cfg"

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


# See how we were called.
case "$1" in
  start)
    # Start daemon.
    echo -n $"Starting darkice streaming daemon: "
    daemon "$DAEMON -c $CONFIGFILE > /dev/null"
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/darkice
    ;;
  stop)
    
por Jkmin 11.06.2012 / 22:47

1 resposta

1

Em man darkice não há informações sobre a execução do darkice em segundo plano (modo daemon ), mas encontrei o site onde o script de inicialização é fornecido .

O Darkice é iniciado na tela com o interruptor -d que instantaneamente desanexa a tela. Todo o comando para executá-lo é assim:

DARKCONFIG="/home/drmoreau/darkice/darkice.cfg"
DARKBIN="darkice"
DARKCMD="$DARKBIN -c $DARKCONFIG"
DARKUSER="PUT YOUR LOCAL USERNAME HERE IN LOWERCASE"
SCREENEXE="screen"
SCREENOPTS="-d -m -S darkice_stream"
su "$DARKUSER" -c "$SCREENEXE"" $SCREENOPTS"" $DARKCMD"
    
por 11.06.2012 / 22:59