.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "start-stop-daemon 8" .TH start-stop-daemon 8 2024-03-10 1.22.6 "dpkg suite" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NOME .IX Header "NOME" start-stop-daemon \- inicia e p\('ara programas daemon do sistema .SH RESUMO .IX Header "RESUMO" \&\fBstart-stop-daemon\fR [\fIoption\fR...] \fIcommand\fR .SH DESCRI\(,C\(~AO .IX Header "DESCRI\(,C\(~AO" \&\fBstart-stop-daemon\fR \('e usado para a cria\(,c\(~ao e t\('ermino de processos de n\('ivel\-de\-sistema. Usando uma destas op\(,c\(~oes de correspond\(^encia, o \fBstart-stop-daemon\fR pode ser configurado para procurar inst\(^ancias existentes de processos a correr. .PP \&\fBNota\fR: A menos que \fB\-\-pid\fR ou \fB\-\-pidfile\fR sejam especificados, \fBstart-stop-daemon\fR comporta-se de modo semelhante a \fBkillall\fR\|(1). \fBstart-stop-daemon\fR ir\('a 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\('a prevenir um \fB\-\-start\fR de iniciar o daemon. A todos os processos correspondentes ser\('a enviado o sinal TERM (ou aquele especificado via \fB\-\-signal\fR ou \fB\-\-retry\fR) se for especificado \fB\-\-stop\fR.Para daemons que t\(^em filhos de vida-longa que precisam sobreviver a um \fB\-\-stop\fR, voc\(^e tem de especificar um pidfile. .SH COMANDOS .IX Header "COMANDOS" .IP "\fB\-S\fR, \fB\-\-start\fR [\fB\-\-\fR] \fIarguments\fR" 4 .IX Item "-S, --start [--] arguments" Verifica a exist\(^encia de um processo especificado. Se tal processo existir, o \fBstart-stop-daemon\fR n\(~ao faz nada, e termina com um estado de erro 1 (0 se \fB\-\-oknodo\fR for especificado). Se tal processo n\(~ao existir, inicia uma inst\(^ancia, usando ou o execut\('avel especificado por \fB\-\-exec\fR ou, se especificado, por \fB\-\-startas\fR. Quaisquer argumentos dados ap\('os \fB\-\-\fR na linha de comandos s\(~ao passados sem modifica\(,c\(~ao ao programa que est\('a a ser iniciado. .IP "\fB\-K\fR, \fB\-\-stop\fR" 4 .IX Item "-K, --stop" Verifica a exist\(^encia de um processo especificado. Se tal processo existir, \fBstart-stop-daemon\fR envia o sinal especificado por \fB\-\-signal\fR, e termina com estado de erro 0. Se tal processo n\(~ao existir, \fBstart-stop-daemon\fR termina com estado de erro 1 (0 se \fB\-\-oknodo\fR for especificado). Se for especificado \fB\-\-retry\fR ent\(~ao o \fBstart-stop-daemon\fR ir\('a verificar se os processo(s) terminaram. .IP "\fB\-T\fR, \fB\-\-status\fR" 4 .IX Item "-T, --status" Verifica a exist\(^encia de um processo especificado, e devolve um c\('odigo de estado de sa\('ida, de acordo com as Ac\(,c\(~oes do Script Init do LSB (desde vers\(~ao 1.16.1). .IP "\fB\-H\fR, \fB\-\-help\fR" 4 .IX Item "-H, --help" Mostra informa\(,c\(~ao de utiliza\(,c\(~ao e termina. .IP "\fB\-V\fR, \fB\-\-version\fR" 4 .IX Item "-V, --version" Mostra a vers\(~ao do programa e termina. .SH OP\(,C\(~OES .IX Header "OP\(,C\(~OES" .SS "Op\(,c\(~oes de correspond\(^encia" .IX Subsection "Op\(,c\(~oes de correspond\(^encia" .IP "\fB\-\-pid\fR \fIpid\fR" 4 .IX Item "--pid pid" Verifica por um processo com o \fIpid\fR especificado (desde vers\(~ao 1.17.6). O \fIpid\fR tem de ser um n\('umero maior que 0. .IP "\fB\-\-ppid\fR \fIppid\fR" 4 .IX Item "--ppid ppid" Verifica por um processo com o \fIppid\fR (pid pai) especificado (desde vers\(~ao 1.17.7). O \fIppid\fR tem de ser um n\('umero maior que 0. .IP "\fB\-p\fR, \fB\-\-pidfile\fR \fIpidfile\fR" 4 .IX Item "-p, --pidfile pidfile" Verifica se um processo criou o ficheiro \fIpidfile\fR. .Sp \&\fBNota\fR: Usar esta op\(,c\(~ao de correspond\(^encia sozinha pode causar que se actue em processos intencionalmente, se o processo antigo terminou sem ser capaz de remover o seu \fIpidfile\fR. .Sp \&\fBAviso\fR: Usar esta op\(,c\(~ao de correspond\(^encia com um pidfile grav\('avel mundialmente ou usa-la sozinha com um daemon que escreve o pidfile como um utilizador sem privil\('egios (n\(~ao\-root) ir\('a ser recusada com um erro (desde vers\(~ao 1.19.3) pois isto \('e um risco de seguran\(,ca, porque ou o utilizador consegue escrever nele, ou se o daemon ficar comprometido, n\(~ao se pode confiar no conte\('udo 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 \fI/dev/null\fR est\('a isento destas verifica\(,c\(~oes. .IP "\fB\-x\fR, \fB\-\-exec\fR \fIexecutable\fR" 4 .IX Item "-x, --exec executable" Verifica por processos que s\(~ao inst\(^ancias deste \fIexecutable\fR. O argumento \fIexecutable\fR deve ser um nome de caminho absoluto. .Sp \&\fBNota\fR: Isto pode n\(~ao funcionar como pretendido com com scripts de interpreta\(,c\(~ao, pois o execut\('avel ir\('a apontar para o interpretador. Tendo em conta que processos que correm dentro de uma chroot tamb\('em ir\(~ao corresponder, ent\(~ao poder\(~ao ser necess\('arias outras restri\(,c\(~oes de correspond\(^encia. .IP "\fB\-n\fR, \fB\-\-name\fR \fIprocess-name\fR" 4 .IX Item "-n, --name process-name" Verifica por processos com o nome \fIprocess-name\fR. O \fIprocess-name\fR \('e geralmente o nome de ficheiro do processo, mas pode ter sido modificado pelo pr\('oprio processo. .Sp \&\fBNota\fR: Na maioria dos sistemas esta informa\(,c\(~ao \('e obtida a partir do nome de comunica\(,c\(~ao do processo a partir do kernel, o que tem tend\(^encia a ter um limite de comprimento relativamente curto (assumir mais de 15 caracteres \('e n\(~ao\-port\('avel). .IP "\fB\-u\fR, \fB\-\-user\fR \fIusername\fR|\fIuid\fR" 4 .IX Item "-u, --user username|uid" Verifica por processos cujo dono \('e o utilizador especificado por \fIusername\fR ou \fIuid\fR. .Sp \&\fBNota\fR: usar s\('o esta op\(,c\(~ao de correspond\(^encia ir\('a causar com que seja actuado em todos os processos que correspondem ao utilizador. .SS "Op\(,c\(~oes gen\('ericas" .IX Subsection "Op\(,c\(~oes gen\('ericas" .IP "\fB\-g\fR, \fB\-\-group\fR \fIgroup\fR|\fIgid\fR" 4 .IX Item "-g, --group group|gid" Altera para \fIgrupo\fR ou \fIgid\fR quando inicia o processo. .IP "\fB\-s\fR, \fB\-\-signal\fR \fIsignal\fR" 4 .IX Item "-s, --signal signal" Com \fB\-\-stop\fR, especifica o sinal a enviar aos processos a serem parados (predefini\(,c\(~ao TERM). .IP "\fB\-R\fR, \fB\-\-retry\fR \fItimeout\fR|\fIschedule\fR" 4 .IX Item "-R, --retry timeout|schedule" Com \fB\-\-stop\fR, especifica que \fBstart-stop-daemon\fR deve verificar se o(s) processo(s) terminam mesmo. Ir\('a verificar repetidamente se qualquer processo correspondente est\('a a correr, at\('e que nenhum esteja. Se os processos n\(~ao terminarem ir\('a ent\(~ao tomar mais ac\(,c\(~oes como determinado pelo agendamento. .Sp Se for especificado \fItimeout\fR em vez de \fIschedule\fR, ent\(~ao agenda \fIsignal\fR\fB/\fR\fItimeout\fR\fB/KILL/\fR\fItimeout\fR \('e usada, onde \fIsignal\fR \('e o sinal especificado com \fB\-\-signal\fR. .Sp \&\fIschedule\fR \('e uma lista de pelo menos dois itens separados por barras (\fB/\fR); cada item pode ser \fB\-\fR\fIsignal-number\fR ou [\fB\-\fR]\fIsignal-name\fR, o que significa enviar esse sinal, ou \fItimeout\fR, o que significa esperar esses tantos segundos para que os processos terminem, ou \fBforever\fR, o que significa repetir o resto da agenda para sempre se necess\('ario. .Sp Se o fim da agenda for atingido e n\(~ao foi especificado \fBforever\fR, ent\(~ao \fBstart-stop-daemon\fR termina com o estado de erro 2. Se for especificada uma agenda ent\(~ao qualquer sinal especificado com \fB\-\-signal\fR \('e ignorado. .IP "\fB\-a\fR, \fB\-\-startas\fR \fIpathname\fR" 4 .IX Item "-a, --startas pathname" Com \fB\-\-start\fR, inicia o processo especificado por \fInome-de-caminho\fR. Se n\(~ao especificado, usa por predefini\(,c\(~ao o argumento dado a \fB\-\-exec\fR. .IP "\fB\-t\fR, \fB\-\-test\fR" 4 .IX Item "-t, --test" Escreve as ac\(,c\(~oes que seriam tomadas e define valores de retorno apropriados, mas n\(~ao toma nenhuma ac\(,c\(~ao. .IP "\fB\-o\fR, \fB\-\-oknodo\fR" 4 .IX Item "-o, --oknodo" Retorna o estado de sa\('ida 0 em vez de 1 se nenhuma ac\(,c\(~ao foi (ser\('a) tomada. .IP "\fB\-q\fR, \fB\-\-quiet\fR" 4 .IX Item "-q, --quiet" N\(~ao escreve mensagens informativas, apenas mostra mensagens de erro. .IP "\fB\-c\fR, \fB\-\-chuid\fR \fIusername\fR|\fIuid\fR[\fB:\fR\fIgroup\fR|\fIgid\fR]" 4 .IX Item "-c, --chuid username|uid[:group|gid]" Muda para este nome\-utilizador/uid antes de arrancar o processo. Voc\(^e tamb\('em pode especifica um grupo ao anexar \fB:\fR, e depois o grupo ou gid do mesmo modo que faria com o comando \fBchown\fR\|(1) (\fIuser\fR\fB:\fR\fIgroup\fR). Se for especificado um utilizador sem um grupo, \('e usado o GID prim\('arios para esse utilizador. Quando usa esta op\(,c\(~ao voc\(^e tem de compreender que os grupos prim\('ario e suplementar s\(~ao tamb\('em definidos, mesmo que a op\(,c\(~ao \fB\-\-group\fR n\(~ao seja especificada. A op\(,c\(~ao \fB\-\-group\fR \('e apenas para grupos em que o utilizador n\(~ao \('e normalmente um membro dele (tal como adicionar sociedade de grupo por-processo para utilizadores gen\('ericos tipo \fBnobody\fR). .IP "\fB\-r\fR, \fB\-\-chroot\fR \fIroot\fR" 4 .IX Item "-r, --chroot root" Muda direct\('orio e chroot para \fIroot\fR antes de iniciar o processo. Por favor note que o pidfile \('e tamb\('em escrito ap\('os o chroot. .IP "\fB\-d\fR, \fB\-\-chdir\fR \fIpath\fR" 4 .IX Item "-d, --chdir path" Muda direct\('orio para \fIcaminho\fR antes de iniciar o processo. Isto \('e feito depois de chroot se a op\(,c\(~ao \fB\-r\fR|\fB\-\-chroot\fR estiver definida. Quando n\(~ao especificado, o \fBstart-stop-daemon\fR ir\('a mudar o direct\('orio para o direct\('orio raiz antes de iniciar o processo. .IP "\fB\-b\fR, \fB\-\-background\fR" 4 .IX Item "-b, --background" Tipicamente usado com programas que n\(~ao se desanexam deles pr\('oprios. Esta op\(,c\(~ao ir\('a for\(,car o \fBstart-stop-daemon\fR a bifurcar antes de iniciar o processo, e a for\(,ca\-lo para os bastidores. .Sp \&\fBAviso\fR: \fBstart-stop-daemon\fR n\(~ao pode verificar o estado de sa\('ida se o processo falhar ao executar por \fBqualquer\fR raz\(~ao. Este \('e o \('ultimo recurso, e destina-se apenas a programas que ou n\(~ao fazem sentido a bifurcarem por si s\('o, ou onde n\(~ao \('e pratic\('avel adicionar-lhes o c\('odigo para fazerem isto eles pr\('oprios. .IP \fB\-\-notify\-await\fR 4 .IX Item "--notify-await" Espera pelo processo nos bastidores que envie uma notifica\(,c\(~ao de prontid\(~ao antes de considerar o servi\(,co arrancado (desde vers\(~ao 1.19.3). Isto implementa partes do protocolo de prontid\(~ao do systemd, como especificado no manual \fBsd_notify\fR\|(3). As seguintes vari\('aveis s\(~ao suportadas: .RS 4 .IP \fBREADY=1\fR 4 .IX Item "READY=1" O programa est\('a pronto a dar servi\(,co, portanto \('e seguro sair-mos. .IP \fBEXTEND_TIMEOUT_USEC=\fR\fInumber\fR 4 .IX Item "EXTEND_TIMEOUT_USEC=number" O programa pede para estender o limite de tempo em by \fInumber\fR milissegundos. Isto ir\('a reiniciar o tempo limite actual para o valor especificado. .IP \fBERRNO=\fR\fInumber\fR 4 .IX Item "ERRNO=number" O programa est\('a a terminar com um erro. Fa\(,ca o mesmo e escreva a string amiga-do-utilizador para o valor \fBerrno\fR. .RE .RS 4 .RE .IP "\fB\-\-notify\-timeout\fR \fItimeout\fR" 4 .IX Item "--notify-timeout timeout" Define o tempo limite para a op\(,c\(~ao \fB\-\-notify\-await\fR (desde vers\(~ao 1.19.3). Quando o tempo limite \('e atingido, o \fBstart-stop-daemon\fR ir\('a terminar com um c\('odigo de erro, e n\(~ao \('e esperada nenhuma notifica\(,c\(~ao de prontid\(~ao. A predefini\(,c\(~ao \('e \fB60\fR segundos. .IP "\fB\-C\fR, \fB\-\-no\-close\fR" 4 .IX Item "-C, --no-close" N\(~ao fecha nenhum descritor de ficheiro quando for\(,ca o daemon para os bastidores (desde vers\(~ao 1.16.5). Usado para objectivos de depura\(,c\(~ao para ver o resultado dos processos, ou para redirecionar os descritores de ficheiros para registar o resultado dos processos. Apenas relevante quando se usa \fB\-\-background\fR. .IP "\fB\-O\fR, \fB\-\-output\fR \fIpathname\fR" 4 .IX Item "-O, --output pathname" Redireciona \fBstdout\fR e \fBstderr\fR para \fIpathname\fR quando for\(,ca o daemon a funcionar em segundo plano (desde vers\(~ao 1.20.6). Apenas relevante quando se usa \fB\-\-background\fR. .IP "\fB\-N\fR, \fB\-\-nicelevel\fR \fIint\fR" 4 .IX Item "-N, --nicelevel int" Isto altera a prioridade do processo antes de o iniciar. .IP "\fB\-P\fR, \fB\-\-procsched\fR \fIpolicy\fR\fB:\fR\fIpriority\fR" 4 .IX Item "-P, --procsched policy:priority" Isto altera a pol\('itica de agendamento de processos e a prioridade dos processos antes de os iniciar (desde vers\(~ao 1.15.0). A prioridade pode ser opcionalmente especificada ao anexar um \fB:\fR seguido de um valor. A predefini\(,c\(~ao de \fIpriority\fR \('e 0. Os valores de pol\('itica actualmente suportados s\(~ao \fBother\fR, \fBfifo\fR e \fBrr\fR. .Sp Esta op\(,c\(~ao pode n\(~ao fazer anda em alguns sistemas, onde o agendamento de processos POSIX n\(~ao \('e suportado. .IP "\fB\-I\fR, \fB\-\-iosched\fR \fIclass\fR\fB:\fR\fIpriority\fR" 4 .IX Item "-I, --iosched class:priority" Isto altera a classe de agendamento IO e a prioridade dos processos antes de os iniciar (desde vers\(~ao 1.15.0). A prioridade pode ser opcionalmente especificada ao anexar um \fB:\fR seguido de um valor. A predefini\(,c\(~ao de \fIpriority\fR \('e 4, a menos que \fIclass\fR seja \fBidle\fR, ent\(~ao \fIpriority\fR ser\('a sempre 7. Os valores actualmente suportados para \fIclass\fR s\(~ao \fBidle\fR, \fBbest-effort\fR e \fBreal-time\fR. .Sp Esta op\(,c\(~ao pode n\(~ao fazer anda em alguns sistemas, onde o agendamento de processos Linux IO n\(~ao \('e suportado. .IP "\fB\-k\fR, \fB\-\-umask\fR \fImask\fR" 4 .IX Item "-k, --umask mask" Isto define o umask do processo antes de o iniciar (desde a vers\(~ao 1.13.22). .IP "\fB\-m\fR, \fB\-\-make\-pidfile\fR" 4 .IX Item "-m, --make-pidfile" Usado quando se inicia um programa que n\(~ao cria o seu pr\('oprio ficheiro pid. Esta op\(,c\(~ao ir\('a fazer o \fBstart-stop-daemon\fR criar o ficheiro referenciado com \fB\-\-pidfile\fR e colocar o pid nele mesmo antes de executar o processo. Nota, o ficheiro s\('o ser\('a removido quando se p\('ara o programa se for usado \fB\-\-remove\-pidfile\fR. .Sp \&\fBNota\fR: Esta funcionalidade pode n\(~ao funcionar em todos os casos. Mais notavelmente quando o programa a ser executar bifurca do seu processo principal. Devido a isto, \('e geralmente apenas \('util quando combinado com a op\(,c\(~ao \fB\-\-background\fR. .IP \fB\-\-remove\-pidfile\fR 4 .IX Item "--remove-pidfile" Usado para parar um programa que n\(~ao remove o seu pr\('oprio ficheiro pid (desde vers\(~ao 1.17.19). Esta op\(,c\(~ao ir\('a fazer o \fBstart-stop-daemon\fR remover o ficheiro referenciado com \fB\-\-pidfile\fR ap\('os terminar o processo. .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Escreve mensagens de informa\(,c\(~ao detalhadas. .SH "ESTADO \(`A SA\('IDA" .IX Header "ESTADO \(`A SA\('IDA" .IP \fB0\fR 4 .IX Item "0" A ac\(,c\(~ao requerida foi executada. Se \fB\-\-oknodo\fR foi especificado, \('e tamb\('em poss\('ivel que nada tenha de ser feito. Isto pode acontecer quando \fB\-\-start\fR foi especificado e um processo correspondente j\('a estava a correr, ou quando \fB\-\-stop\fR foi especificado e n\(~ao h\('a nenhum processo correspondente. .IP \fB1\fR 4 .IX Item "1" Se \fB\-\-oknodo\fR n\(~ao foi especificado e nada foi feito. .IP \fB2\fR 4 .IX Item "2" Se \fB\-\-stop\fR e \fB\-\-retry\fR foram especificados, mas foi alcan\(,cado o fim do agendamento e os processos ainda estavam a correr. .IP \fB3\fR 4 .IX Item "3" Qualquer outro erro. .PP Quando se usa o comando \fB\-\-status\fR, s\(~ao devolvidos os seguintes c\('odigos de estado: .IP \fB0\fR 4 .IX Item "0" Programa est\('a em execu\(,c\(~ao. .IP \fB1\fR 4 .IX Item "1" Programa n\(~ao est\('a em execu\(,c\(~ao e o ficheiro pid existe. .IP \fB3\fR 4 .IX Item "3" Programa n\(~ao est\('a em execu\(,c\(~ao. .IP \fB4\fR 4 .IX Item "4" Incapaz de determinar o estado do programa. .SH EXEMPLO .IX Header "EXEMPLO" Inicia o daemon \fBfood\fR, a menos que um j\('a esteja a correr (um processo chamado food, a correr como utilizador food, com pid em food.pid): .Sp .Vb 3 \& start\-stop\-daemon \-\-start \-\-oknodo \-\-user food \-\-name food \e \& \-\-pidfile /run/food.pid \-\-startas /usr/sbin/food \e \& \-\-chuid food \-\- \-\-daemon .Ve .PP Envia \fBSIGTERM\fR para \fBfood\fR e espera at\('e 5 segundos para que pare: .Sp .Vb 2 \& start\-stop\-daemon \-\-stop \-\-oknodo \-\-user food \-\-name food \e \& \-\-pidfile /run/food.pid \-\-retry 5 .Ve .PP Demonstra\(,c\(~ao dum agendamento personalizado para parar o \fBfood\fR: .Sp .Vb 2 \& start\-stop\-daemon \-\-stop \-\-oknodo \-\-user food \-\-name food \e \& \-\-pidfile /run/food.pid \-\-retry=TERM/30/KILL/5 .Ve .SH TRADU\(,C\(~AO .IX Header "TRADU\(,C\(~AO" Am\('erico Monteiro .PP Se encontrar algum erro na tradu\(,c\(~ao deste documento, por favor comunique para Am\('erico Monteiro .