Por que recebo status: trabalho desconhecido no serviço?

3

Eu segui this para adicionar um programa ao init.d como um serviço (eu acho), quando eu quero ver seu status com:

sudo status /etc/init.d/noip2

Eu recebo:

status: Unknown job: /etc/init.d/noip2

O que isso significa? devo mudar o programa?

O programa é:

#! /bin/sh

# /etc/init.d/noip2
# Supplied by no-ip.com
# Modified for Debian GNU/Linux by Eivind L. Rygge <[email protected]>
# Updated by David Courtney to not use pidfile 130130 for Debian stable.

# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc

DAEMON=/usr/local/bin/noip2
NAME=noip2

test -x $DAEMON || exit 0

case "$1" in
   start)
       echo -n "Starting dynamic address update: "
       start-stop-daemon –start –exec $DAEMON
       echo "noip2."
   ;;

   stop)
       echo -n "Shutting down dynamic address update:"
       start-stop-daemon –stop –oknodo –retry 30 –exec $DAEMON
       echo "noip2."
   ;;

   restart)
       echo -n "Restarting dynamic address update: "
       start-stop-daemon –stop –oknodo –retry 30 –exec $DAEMON
       start-stop-daemon –start –exec $DAEMON
       echo "noip2."
   ;;

   *)
       echo "Usage: $0 {start|stop|restart}"
       exit 1
   ;;

esac
exit 0
    
por abolmabol 29.08.2014 / 19:17

1 resposta

2

Seu script é um script init.d . O comando status é para tarefas do Upstart; não para init.d scripts.

initctl list é usado para listar todos os trabalhos do Upstart. Se você tentar, verá que noip2 não está lá. Na verdade, você descobrirá que nenhum dos scripts de /etc/init.d é mostrado por esse comando. initctl list (e o comando status que você tentou), funciona apenas com os arquivos de configuração Upstart de /etc/init (observe a falta de .d ).

O comando para verificar o status de um script de /etc/init.d é geralmente:

# service <script> status

No entanto, para que isso funcione, o script deve suportar uma função status , que o seu não suporta.

Seu script tem três opções: start , stop e restart , o que significa que esses são os únicos três comandos que você pode passar para service noip2 <cmd> . Se você ler outras pessoas em /etc/init.d , verá que elas têm mais opções, como status .

Na verdade, se você ler o artigo no link postado, verá que a maneira de verificar o status de noip2 é:

$ sudo /usr/local/bin/noip2 –S
    
por 29.08.2014 / 20:28