status -p $pidfile -l $lockfile $prog
Essa é a função status() do shell de /etc/rc.d/init.d/functions no RHEL / CentOS 6. Ela também é conhecida como statusproc() no mundo Linux From Scratch .
Isso nos diz que você está fazendo coisas muito erradas. Você está combinando as funções auxiliares de shell especiais disponíveis para uso nos scripts System 5 rc com comandos externos de shell interativos comuns. Você está escrevendo scripts System 5 rc no Ubuntu. E você está usando arquivos PID e arquivos de bloqueio.
- Não use arquivos PID como rastreamento de serviço do homem pobre. Não use arquivos de bloqueio como intertravamento de serviço do homem pobre. Eles são totalmente desnecessários nas versões 14 e 15 do Ubuntu Linux, que têm upstart e systemd, respectivamente. Eles não precisam de arquivos PID instáveis e arquivos de bloqueio. Tanto o systemd quanto o upstart garantem que não se inicie um único serviço duas vezes, e os dois controlam adequadamente os IDs do processo dos processos de serviço, porque eles, em primeiro lugar, bifurcaram esses processos. O que me leva a:
-
Não escreva os scripts System 5
rcno Ubuntu Linux. Na versão 14, um já tinha upstart; e na versão 15 um agora tem systemd, assim como no CentOS 7, RHEL 7 e Debian 8. Não há uma boa razão para escrever scripts System% 5% no Ubuntu Linux por um longo tempo. E um certamente não deve começar a partir daí se alguém estiver vindo para o Ubuntu Linux novamente. Mesmo se você estiver começando por aí porque está (erroneamente) tentando trazer scripts do System 5rcatravés do CentOS: -
Não confie na função
rcdo shell nos sistemas operacionais ou mesmo nas versões do mesmo sistema operacional. Conforme observado, é diferentemente nomeado no LFS. Ele não está nas "novas" funções de suporte LSB do Fedora a partir de 2009. Não há nem mesmo uma ação de script obrigatóriastatus()System 5statusno Manual de Políticas Debian em primeiro lugar, embora o A biblioteca de funções auxiliares do LSB tem uma função de ajuda (sutilmente diferente)rc.
Escreva um "arquivo de trabalho" upstart para o Ubuntu versão 14, ou uma "unidade de serviço" systemd para CentOS 7, RHEL 7, Debian 8 ou Ubuntu 15. Ambos upstart e systemd fornecem comandos de status de serviço: status_of_proc() (com um simples shim chamado apenas initctl status ) e status , respectivamente. Para apoiá-los em um arquivo de trabalho ou uma unidade de serviço você não precisa fazer nada .
Leitura adicional
- link
- FC New Init . 2009. Wiki do Projeto Fedora.
-
"
systemctl statusfunction" . Embalagem: SysVInitScript . 2008. Wiki do Projeto Fedora. - link
- link
- Lennart Poettering (2013-10-07).
status. páginas de manual do systemd. freedesktop.org. - James Hunt e Clint Byrum (2014). "Utilitários" . Cookbook Upstart .