Porta para usar as funções init.D do CentOS

1

Quais são os bons comandos equivalentes do centos usando funções em /etc/init.d/functions como daemon para realizar as seguintes tarefas?

STARTCMD='start-stop-daemon --start --exec /usr/sbin/swapspace --quiet --pidfile /var/run/swapspace.pid -- -d -p'
STOPCMD='start-stop-daemon --stop --oknodo --quiet --pidfile /var/run/swapspace.pid'

Parece que daemon funcionará para o comando start e killproc é usado para o comando stop.

 . /etc/init.d/functions
 pushd /usr/sbin
 daemon --pidfile /var/run/swapspace.pid /usr/sbin/swapspace

 . /etc/init.d/functions
 killproc -p $(cat /var/run/swapspace.pid)

O --oknodo seria necessário no env do CentOS (o arquivo de troca é realmente apenas o tempo de inicialização)? "oknodo - Retorna o status de saída 0 em vez de 1 se nenhuma ação for (seria) executada."

Não vejo silêncio em daemon ou killproc , mas não imagino que isso importe.

O daemon start-stop-original para swapspace parece ter os arquivos -p e --pid (o mesmo comando). Isso deve ser um erro.

Eu senti falta de alguma coisa? Alguma idéia do porquê o daemon não criou o arquivo pid?

    
por jcalfee314 22.10.2012 / 20:59

1 resposta

2

It looks like daemon will work for the start command and killproc is used for the stop command.

Estas são apenas funções de shell definidas em /etc/rc.d/init.d/functions . Eles não são tão sofisticados quanto start-stop-daemon , mas são praticamente o que você tem que trabalhar no CentOS.

Would the --oknodo be needed in the CentOS env (the swap file is really only boot-time)?

daemon e killproc não têm essa opção, portanto você não tem. daemon sairá com sucesso se o processo já estiver sendo executado. Não tenho certeza de como killproc se comportará - talvez seja necessário verificar explicitamente se o processo está em execução antes de chamá-lo.

The original start-stop-daemon for swapspace seems to have both -p and --pidfile (the same command). That must be an error.

Não é: --pidfile é um parâmetro para start-stop-daemon , enquanto -p é um parâmetro para swapspace . O -- separa os parâmetros para start-stop-daemon dos parâmetros para o processo que está sendo iniciado.

Did I miss anything? Any idea why daemon not create the pid file?

Você precisa passar -p para swapspace , assim:

daemon --pidfile /var/run/swapspace.pid /usr/sbin/swapspace -p
    
por 22.10.2012 / 23:58

Tags