summaryrefslogtreecommitdiffstats
path: root/man/pt/start-stop-daemon.pod
blob: 3d5a6ffadaf4211e238539b5318b7d558c21a4d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
        *****************************************************
        *           GENERATED FILE, DO NOT EDIT             *
        * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
        *****************************************************

This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.

In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.

=encoding UTF-8

=head1 NOME

start-stop-daemon - inicia e pára programas daemon do sistema

=head1 SINOPSE

B<start-stop-daemon> [I<option>...] I<command>

=head1 DESCRIÇÃO

B<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 B<start-stop-daemon> pode ser configurado para procurar instâncias existentes de processos a correr.

B<Nota:> A menos que B<--pid> ou B<--pidfile> sejam especificados, B<start-stop-daemon> comporta-se de modo semelhante a B<killall>(1). B<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 B<--start> de iniciar o daemon. A todos os processos correspondentes será enviado o sinal TERM (ou aquele especificado via B<--signal> ou B<--retry>) se for especificado B<--stop>.Para daemons que têm filhos de vida-longa que precisam sobreviver a um B<--stop>, você tem de especificar um pidfile.

=head1 COMANDOS

=over 

=item B<-S>, B<--start> [B<-->] I<arguments>

Verifica a existência de um processo especificado. Se tal processo existir, o B<start-stop-daemon> não faz nada, e termina com um estado de erro 1 (0 se B<--oknodo> for especificado). Se tal processo não existir, inicia uma instância, usando ou o executável especificado por B<--exec> ou, se especificado, por B<--startas>. Quaisquer argumentos dados após B<--> na linha de comandos são passados sem modificação ao programa que está a ser iniciado.

=item B<-K>, B<--stop>

Verifica a existência de um processo especificado. Se tal processo existir, B<start-stop-daemon> envia o sinal especificado por B<--signal>, e termina com estado de erro 0. Se tal processo não existir, B<start-stop-daemon> termina com estado de erro 1 (0 se B<--oknodo> for especificado). Se for especificado B<--retry> então o B<start-stop-daemon> irá verificar se os processo(s) terminaram.

=item B<-T>, B<--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).

=item B<-H>, B<--help>

Mostra informação de utilização e termina.

=item B<-V>, B<--version>

Mostra a versão do programa e termina.

=back

=head1 OPÇÕES

=head2 Opções de correspondência

=over 

=item B<--pid> I<pid>

Verifica por um processo com o I<pid> especificado (desde versão 1.17.6). O I<pid> tem de ser um número maior que 0.

=item B<--ppid> I<ppid>

Verifica por um processo com o I<ppid> (pid pai) especificado (desde versão 1.17.7). O I<ppid> tem de ser um número maior que 0.

=item B<-p>, B<--pidfile> I<pidfile>

Verifica se um processo criou o ficheiro I<pidfile>.

B<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 I<pidfile>.

B<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 I</dev/null> está isento destas verificações.

=item B<-x>, B<--exec> I<executable>

Verifica por processos que são instâncias deste I<executable>. O argumento I<executable> deve ser um nome de caminho absoluto.

B<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.

=item B<-n>, B<--name> I<process-name>

Verifica por processos com o nome I<process-name>. O I<process-name> é geralmente o nome de ficheiro do processo, mas pode ter sido modificado pelo próprio processo.

B<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).

=item B<-u>, B<--user> I<username>|I<uid>

Verifica por processos cujo dono é o utilizador especificado por I<username> ou I<uid>.

B<Nota:> usar só esta opção de correspondência irá causar com que seja actuado em todos os processos que correspondem ao utilizador.

=back

=head2 Opções genéricas

=over 

=item B<-g>, B<--group> I<group>|I<gid>

Altera para I<grupo> ou I<gid> quando inicia o processo.

=item B<-s>, B<--signal> I<signal>

Com B<--stop>, especifica o sinal a enviar aos processos a serem parados (predefinição TERM).

=item B<-R>, B<--retry> I<timeout>|I<schedule>

Com B<--stop>, especifica que B<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 I<timeout> em vez de I<schedule>, então agenda I<signal>B</>I<timeout>B</KILL/>I<timeout> é usada, onde I<signal> é o sinal especificado com B<--signal>.

I<schedule> é uma lista de pelo menos dois itens separados por barras (B</>); cada item pode ser B<->I<signal-number> ou [B<->]I<signal-name>, o que significa enviar esse sinal, ou I<timeout>, o que significa esperar esses tantos segundos para que os processos terminem, ou B<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 B<forever>, então B<start-stop-daemon> termina com o estado de erro 2. Se for especificada uma agenda então qualquer sinal especificado com B<--signal> é ignorado.

=item B<-a>, B<--startas> I<pathname>

Com B<--start>, inicia o processo especificado por I<nome-de-caminho>. Se não especificado, usa por predefinição o argumento dado a B<--exec>.

=item B<-t>, B<--test>

Escreve as acções que seriam tomadas e define valores de retorno apropriados, mas não toma nenhuma acção.

=item B<-o>, B<--oknodo>

Retorna o estado de saída 0 em vez de 1 se nenhuma acção foi (será) tomada.

=item B<-q>, B<--quiet>

Não escreve mensagens informativas, apenas mostra mensagens de erro.

=item B<-c>, B<--chuid> I<username>|I<uid>[B<:>I<group>|I<gid>]

Muda para este nome-utilizador/uid antes de arrancar o processo. Você também pode especifica um grupo ao anexar B<:>, e depois o grupo ou gid do mesmo modo que faria com o comando B<chown>(1) (I<user>B<:>I<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 B<--group> não seja especificada. A opção B<--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 B<nobody>).

=item B<-r>, B<--chroot> I<root>

Muda directório e chroot para I<root> antes de iniciar o processo. Por favor note que o pidfile é também escrito após o chroot.

=item B<-d>, B<--chdir> I<path>

Muda directório para I<caminho> antes de iniciar o processo. Isto é feito depois de chroot se a opção B<-r>|B<--chroot> estiver definida. Quando não especificado, o B<start-stop-daemon> irá mudar o directório para o directório raiz antes de iniciar o processo.

=item B<-b>, B<--background>

Tipicamente usado com programas que não se desanexam deles próprios. Esta opção irá forçar o B<start-stop-daemon> a bifurcar antes de iniciar o processo, e a força-lo para os bastidores.

B<Warning: start-stop-daemon> não pode verificar o estado de saída se o processo falhar ao executar por B<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.

=item B<--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 B<sd_notify>(3). As seguintes variáveis são suportadas:

=over 

=item B<READY=1>

O programa está pronto a dar serviço, portanto é seguro sair-mos.

=item B<EXTEND_TIMEOUT_USEC=>I<number>

O programa pede para estender o limite de tempo em by I<number> milissegundos. Isto irá reiniciar o tempo limite actual para o valor especificado.

=item B<ERRNO=>I<number>

O programa está a terminar com um erro. Faça o mesmo e escreva a string amiga-do-utilizador para o valor B<errno>.

=back

=item B<--notify-timeout> I<timeout>

Define o tempo limite para a opção B<--notify-await> (desde versão 1.19.3). Quando o tempo limite é atingido, o B<start-stop-daemon> irá terminar com um código de erro, e não é esperada nenhuma notificação de prontidão. A predefinição é B<60> segundos.

=item B<-C>, B<--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 B<--background>.

=item B<-O>, B<--output> I<pathname>

Redireciona B<stdout> e B<stderr> para I<pathname> quando força o daemon a funcionar em segundo plano (desde versão 1.20.6). Apenas relevante quando se usa B<--background>.

=item B<-N>, B<--nicelevel> I<int>

Isto altera a prioridade do processo antes de o iniciar.

=item B<-P>, B<--procsched> I<policy>B<:>I<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 B<:> seguido de um valor. A predefinição de I<priority> é 0. Os valores de política actualmente suportados são B<other>, B<fifo> e B<rr>.

Esta opção pode não fazer anda em alguns sistemas, onde o agendamento de processos POSIX não é suportado.

=item B<-I>, B<--iosched> I<class>B<:>I<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 B<:> seguido de um valor. A predefinição de I<priority> é 4, a menos que I<class> seja B<idle>, então I<priority> será sempre 7. Os valores actualmente suportados para I<class> são B<idle>, B<best-effort> e B<real-time>.

Esta opção pode não fazer anda em alguns sistemas, onde o agendamento de processos Linux IO não é suportado.

=item B<-k>, B<--umask> I<mask>

Isto define o umask do processo antes de o iniciar (desde a versão 1.13.22).

=item B<-m>, B<--make-pidfile>

Usado quando se inicia um programa que não cria o seu próprio ficheiro pid. Esta opção irá fazer o B<start-stop-daemon> criar o ficheiro referenciado com B<--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 B<--remove-pidfile>.

B<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 B<--background>.

=item B<--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 B<start-stop-daemon> remover o ficheiro referenciado com B<--pidfile> após terminar o processo.

=item B<-v>, B<--verbose>

Escreve mensagens de informação detalhadas.

=back

=head1 ESTADO À SAÍDA

=over 

=item B<0>

A acção requerida foi executada. Se B<--oknodo> foi especificado, é também possível que nada tenha de ser feito. Isto pode acontecer quando B<--start> foi especificado e um processo correspondente já estava a correr, ou quando B<--stop> foi especificado e não há nenhum processo correspondente.

=item B<1>

Se B<--oknodo> não foi especificado e nada foi feito.

=item B<2>

Se B<--stop> e B<--retry> foram especificados, mas foi alcançado o fim do agendamento e os processos ainda estavam a correr.

=item B<3>

Qualquer outro erro.

=back

Quando se usa o comando B<--status>, são devolvidos os seguintes códigos de estado:

=over 

=item B<0>

Programa está em execução.

=item B<1>

Programa não está em execução e o ficheiro pid existe.

=item B<3>

Programa não está em execução.

=item B<4>

Incapaz de determinar o estado do programa.

=back

=head1 EXEMPLO

Inicia o daemon B<food>, a menos que um já esteja a correr (um processo chamado food, a correr como utilizador food, com pid em food.pid):

=over 

 start-stop-daemon --start --oknodo --user food --name food \
   --pidfile %RUNSTATEDIR%/food.pid --startas /usr/sbin/food \
   --chuid food -- --daemon

=back

Envia B<SIGTERM> para B<food> e espera até 5 segundos para que pare:

=over 

 start-stop-daemon --stop --oknodo --user food --name food \
   --pidfile %RUNSTATEDIR%/food.pid --retry 5

=back

Demonstração dum agendamento personalizado para parar o B<food>:

=over 

 start-stop-daemon --stop --oknodo --user food --name food \
   --pidfile %RUNSTATEDIR%/food.pid --retry=TERM/30/KILL/5

=back


=head1 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>.