Man page - start-stop-daemon(8)
Packages contains this manual
Available languages:
en fr pt nl sv deManual
start-stop-daemon
NOMERESUMO
DESCRIÇÃO
COMANDOS
OPÇÕES
Opções de correspondência
Opções genéricas
ESTADO À SAÍDA
EXEMPLO
TRADUÇÃO
NOME
start-stop-daemon - inicia e pára programas daemon do sistema
RESUMO
start-stop-daemon [ option ...] command
DESCRIÇÃO
start-stop-daemon é usado para a criação e término de processos de nível-de-sistema. Usando uma destas opções de correspondência, o start-stop-daemon pode ser configurado para procurar instâncias existentes de processos a correr.
Nota : A menos que --pid ou --pidfile sejam especificados, start-stop-daemon comporta-se de modo semelhante a killall (1). start-stop-daemon irá sondar a tabela de processos em busca de qualquer processo que coincida com o nome de processo, pid parente, uid, e/u gid (se especificado). Quaisquer processos correspondentes irá prevenir um --start de iniciar o daemon. A todos os processos correspondentes será enviado o sinal TERM (ou aquele especificado via --signal ou --retry ) se for especificado --stop .Para daemons que têm filhos de vida-longa que precisam sobreviver a um --stop , você tem de especificar um pidfile.
COMANDOS
-S , --start [ -- ] arguments
Verifica a existência de um processo especificado. Se tal processo existir, o start-stop-daemon não faz nada, e termina com um estado de erro 1 (0 se --oknodo for especificado). Se tal processo não existir, inicia uma instância, usando ou o executável especificado por --exec ou, se especificado, por --startas . Quaisquer argumentos dados após -- na linha de comandos são passados sem modificação ao programa que está a ser iniciado.
-K , --stop
Verifica a existência de um processo especificado. Se tal processo existir, start-stop-daemon envia o sinal especificado por --signal , e termina com estado de erro 0. Se tal processo não existir, start-stop-daemon termina com estado de erro 1 (0 se --oknodo for especificado). Se for especificado --retry então o start-stop-daemon irá verificar se os processo(s) terminaram.
-T , --status
Verifica a existência de um processo especificado, e devolve um código de estado de saída, de acordo com as Acções do Script Init do LSB (desde versão 1.16.1).
-H , --help
Mostra informação de utilização e termina.
-V , --version
Mostra a versão do programa e termina.
OPÇÕES
Opções de correspondência
--pid pid
Verifica por um processo com o pid especificado (desde versão 1.17.6). O pid tem de ser um número maior que 0.
--ppid ppid
Verifica por um processo com o ppid (pid pai) especificado (desde versão 1.17.7). O ppid tem de ser um número maior que 0.
-p , --pidfile pidfile
Verifica se um processo criou o ficheiro pidfile .
Nota : Usar esta opção de correspondência sozinha pode causar que se actue em processos intencionalmente, se o processo antigo terminou sem ser capaz de remover o seu pidfile .
Aviso : Usar esta opção de correspondência com um pidfile gravável mundialmente ou usa-la sozinha com um daemon que escreve o pidfile como um utilizador sem privilégios (não-root) irá ser recusada com um erro (desde versão 1.19.3) pois isto é um risco de segurança, porque ou o utilizador consegue escrever nele, ou se o daemon ficar comprometido, não se pode confiar no conteúdo do pidfile, e depois um programa privilegiado (tal como um script de init corrido como root) acabaria a actuar em qualquer processo do sistema. Usar /dev/null está isento destas verificações.
-x , --exec executable
Verifica por processos que são instâncias deste executable . O argumento executable deve ser um nome de caminho absoluto.
Nota : Isto pode não funcionar como pretendido com com scripts de interpretação, pois o executável irá apontar para o interpretador. Tendo em conta que processos que correm dentro de uma chroot também irão corresponder, então poderão ser necessárias outras restrições de correspondência.
-n , --name process-name
Verifica por processos com o nome process-name . O process-name é geralmente o nome de ficheiro do processo, mas pode ter sido modificado pelo próprio processo.
Nota : Na maioria dos sistemas esta informação é obtida a partir do nome de comunicação do processo a partir do kernel, o que tem tendência a ter um limite de comprimento relativamente curto (assumir mais de 15 caracteres é não-portável).
-u , --user username | uid
Verifica por processos cujo dono é o utilizador especificado por username ou uid .
Nota : usar só esta opção de correspondência irá causar com que seja actuado em todos os processos que correspondem ao utilizador.
Opções genéricas
-g , --group group | gid
Altera para grupo ou gid quando inicia o processo.
-s , --signal signal
Com --stop , especifica o sinal a enviar aos processos a serem parados (predefinição TERM).
-R , --retry timeout | schedule
Com --stop , especifica que start-stop-daemon deve verificar se o(s) processo(s) terminam mesmo. Irá verificar repetidamente se qualquer processo correspondente está a correr, até que nenhum esteja. Se os processos não terminarem irá então tomar mais acções como determinado pelo agendamento.
Se for especificado timeout em vez de schedule , então agenda signal / timeout /KILL/ timeout é usada, onde signal é o sinal especificado com --signal .
schedule é uma lista de pelo menos dois itens separados por barras ( / ); cada item pode ser - signal-number ou [ - ] signal-name , o que significa enviar esse sinal, ou timeout , o que significa esperar esses tantos segundos para que os processos terminem, ou forever , o que significa repetir o resto da agenda para sempre se necessário.
Se o fim da agenda for atingido e não foi especificado forever , então start-stop-daemon termina com o estado de erro 2. Se for especificada uma agenda então qualquer sinal especificado com --signal é ignorado.
-a , --startas pathname
Com --start , inicia o processo especificado por nome-de-caminho . Se não especificado, usa por predefinição o argumento dado a --exec .
-t , --test
Escreve as acções que seriam tomadas e define valores de retorno apropriados, mas não toma nenhuma acção.
-o , --oknodo
Retorna o estado de saída 0 em vez de 1 se nenhuma acção foi (será) tomada.
-q , --quiet
Não escreve mensagens informativas, apenas mostra mensagens de erro.
-c , --chuid username | uid [ : group | gid ]
Muda para este nome-utilizador/uid antes de arrancar o processo. Você também pode especifica um grupo ao anexar : , e depois o grupo ou gid do mesmo modo que faria com o comando chown (1) ( user : group ). Se for especificado um utilizador sem um grupo, é usado o GID primários para esse utilizador. Quando usa esta opção você tem de compreender que os grupos primário e suplementar são também definidos, mesmo que a opção --group não seja especificada. A opção --group é apenas para grupos em que o utilizador não é normalmente um membro dele (tal como adicionar sociedade de grupo por-processo para utilizadores genéricos tipo nobody ).
-r , --chroot root
Muda directório e chroot para root antes de iniciar o processo. Por favor note que o pidfile é também escrito após o chroot.
-d , --chdir path
Muda directório para caminho antes de iniciar o processo. Isto é feito depois de chroot se a opção -r | --chroot estiver definida. Quando não especificado, o start-stop-daemon irá mudar o directório para o directório raiz antes de iniciar o processo.
-b , --background
Tipicamente usado com programas que não se desanexam deles próprios. Esta opção irá forçar o start-stop-daemon a bifurcar antes de iniciar o processo, e a força-lo para os bastidores.
Aviso : start-stop-daemon não pode verificar o estado de saída se o processo falhar ao executar por qualquer razão. Este é o último recurso, e destina-se apenas a programas que ou não fazem sentido a bifurcarem por si só, ou onde não é praticável adicionar-lhes o código para fazerem isto eles próprios.
--notify-await
Espera pelo processo nos
bastidores que envie uma notificação de
prontidão antes de considerar o serviço
arrancado (desde versão 1.19.3). Isto implementa
partes do protocolo de prontidão do systemd, como
especificado no manual
sd_notify
(3). As seguintes
variáveis são suportadas:
READY=1
O programa está pronto a dar serviço, portanto é seguro sair-mos.
EXTEND_TIMEOUT_USEC= number
O programa pede para estender o limite de tempo em by number milissegundos. Isto irá reiniciar o tempo limite actual para o valor especificado.
ERRNO= number
O programa está a terminar com um erro. Faça o mesmo e escreva a string amiga-do-utilizador para o valor errno .
--notify-timeout timeout
Define o tempo limite para a opção --notify-await (desde versão 1.19.3). Quando o tempo limite é atingido, o start-stop-daemon irá terminar com um código de erro, e não é esperada nenhuma notificação de prontidão. A predefinição é 60 segundos.
-C , --no-close
Não fecha nenhum descritor de ficheiro quando força o daemon para os bastidores (desde versão 1.16.5). Usado para objectivos de depuração para ver o resultado dos processos, ou para redirecionar os descritores de ficheiros para registar o resultado dos processos. Apenas relevante quando se usa --background .
-O , --output pathname
Redireciona stdout e stderr para pathname quando força o daemon a funcionar em segundo plano (desde versão 1.20.6). Apenas relevante quando se usa --background .
-N , --nicelevel int
Isto altera a prioridade do processo antes de o iniciar.
-P , --procsched policy : priority
Isto altera a política de agendamento de processos e a prioridade dos processos antes de os iniciar (desde versão 1.15.0). A prioridade pode ser opcionalmente especificada ao anexar um : seguido de um valor. A predefinição de priority é 0. Os valores de política actualmente suportados são other , fifo e rr .
Esta opção pode não fazer anda em alguns sistemas, onde o agendamento de processos POSIX não é suportado.
-I , --iosched class : priority
Isto altera a classe de agendamento IO e a prioridade dos processos antes de os iniciar (desde versão 1.15.0). A prioridade pode ser opcionalmente especificada ao anexar um : seguido de um valor. A predefinição de priority é 4, a menos que class seja idle , então priority será sempre 7. Os valores actualmente suportados para class são idle , best-effort e real-time .
Esta opção pode não fazer anda em alguns sistemas, onde o agendamento de processos Linux IO não é suportado.
-k , --umask mask
Isto define o umask do processo antes de o iniciar (desde a versão 1.13.22).
-m , --make-pidfile
Usado quando se inicia um programa que não cria o seu próprio ficheiro pid. Esta opção irá fazer o start-stop-daemon criar o ficheiro referenciado com --pidfile e colocar o pid nele mesmo antes de executar o processo. Nota, o ficheiro só será removido quando se pára o programa se for usado --remove-pidfile .
Nota : Esta funcionalidade pode não funcionar em todos os casos. Mais notavelmente quando o programa a ser executar bifurca do seu processo principal. Devido a isto, é geralmente apenas útil quando combinado com a opção --background .
--remove-pidfile
Usado para parar um programa que não remove o seu próprio ficheiro pid (desde versão 1.17.19). Esta opção irá fazer o start-stop-daemon remover o ficheiro referenciado com --pidfile após terminar o processo.
-v , --verbose
Escreve mensagens de informação detalhadas.
ESTADO À SAÍDA
|
0 |
A acção requerida foi executada. Se --oknodo foi especificado, é também possível que nada tenha de ser feito. Isto pode acontecer quando --start foi especificado e um processo correspondente já estava a correr, ou quando --stop foi especificado e não há nenhum processo correspondente. |
||
|
1 |
Se --oknodo não foi especificado e nada foi feito. |
||
|
2 |
Se --stop e --retry foram especificados, mas foi alcançado o fim do agendamento e os processos ainda estavam a correr. |
||
|
3 |
Qualquer outro erro. |
Quando se usa o comando --status , são devolvidos os seguintes códigos de estado:
|
0 |
Programa está em execução. |
|||
|
1 |
Programa não está em execução e o ficheiro pid existe. |
|||
|
3 |
Programa não está em execução. |
|||
|
4 |
Incapaz de determinar o estado do programa. |
EXEMPLO
Inicia o daemon food , a menos que um já esteja a correr (um processo chamado food, a correr como utilizador food, com pid em food.pid):
start-stop-daemon
--start --oknodo --user food --name food \
--pidfile /run/food.pid --startas /usr/sbin/food \
--chuid food -- --daemon
Envia SIGTERM para food e espera até 5 segundos para que pare:
start-stop-daemon
--stop --oknodo --user food --name food \
--pidfile /run/food.pid --retry 5
Demonstração dum agendamento personalizado para parar o food :
start-stop-daemon
--stop --oknodo --user food --name food \
--pidfile /run/food.pid --retry=TERM/30/KILL/5
TRADUÇÃO
Américo Monteiro
Se encontrar algum erro na tradução deste documento, por favor comunique para Américo Monteiro <a_monteiro@gmx.com>.