função daemon não encontrada no CentOS 6.6

1

Estou tentando definir o script init.d para algum serviço - seja less Aqui está o meu script:

#!/bin/bash -xv
# description: read service
#Source function library

if [ -x /etc/rc.d/init.d/functions ];then
. /etc/rc.d/init.d/functions
fi

RETVAL=0
LESS=/usr/bin/less
PIDFILE=/var/run/read.pid

start() {
echo -n $"Starting $LESS service: "
daemon /usr/bin/less
RETVAL=$?
echo $! > $PIDFILE; 
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/LESS
echo
return $RETVAL
}

stop() {
echo -n $"Shutdown $LESS service: "
killproc /usr/bin/less
rm -f $PIDFILE
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/LESS
echo
return $RETVAL
}

restart() {
echo -n $"Restarting $LESS service: "
killproc /usr/bin/less
daemon /usr/bin/less
}


case "$1" in
start)
    start
    ;;
stop)
    stop
    ;;
status)
    if [ 'pidof /var/run/webreaderd.pid' ];then
        echo "Running"
    else
        echo "Not running"
    fi
    ;;
restart|reload)
    stop
    start
    ;;
*)
    echo $"Usage: $0 {start|stop|restart|reload|status}"
    exit 1
esac
exit $?

Mas enquanto depurava /etc/init.d/read.sh start , recebi este erro: line 15: daemon: command not found apesar do fato de que meu. /etc/rc.d/init.d/functions está presente e não está vazio. Como fazer com que minha função daemon funcione?

    
por fuser 22.11.2015 / 18:18

1 resposta

3

O teste -x está verificando se o arquivo existe e é executável (ou no caso de um diretório atravessado / pesquisável).

Seu arquivo de funções provavelmente não tem permissão de execução.

Na verdade, não é necessário ter permissões de execução enquanto você estiver obtendo o script atual. Você pode incluí-lo sem um teste

. /etc/rc.d/init.d/functions

ou inclua-o se existir

if [ -e /etc/rc.d/init.d/functions ];then
    . /etc/rc.d/init.d/functions
else
   echo "Some meaningful error message"
   exit 1
fi

Você provavelmente deseja sair se não existir e também estiver usando algo em que depende.

    
por 22.11.2015 / 18:33