summaryrefslogtreecommitdiffstats
path: root/man/nl/start-stop-daemon.pod
blob: 473fdb1da8b411c297574b0f023f114aca58c1f9 (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
        *****************************************************
        *           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 NAAM

start-stop-daemon - start en stopt systeemachtergronddiensten

=head1 OVERZICHT

B<start-stop-daemon> [I<optie>...] I<commando>

=head1 BESCHRIJVING

B<start-stop-daemon> wordt gebruikt om het creëren en afsluiten van processen op systeemniveau te regelen. Door een van de overeenkomstige opties te gebruiken kan B<start-stop-daemon> geconfigureerd worden om bestaande exemplaren te vinden van actieve processen.

B<Opmerking:> tenzij B<--pid> of B<--pidfile> opgegeven werden, gedraagt B<start-stop-daemon> zich gelijk B<killall>(1).  B<start-stop-daemon> zal de procestabel overlopen op zoek naar processen die overeenkomen met de procesnaam, het moeder-pid, uid en/of gid (als ze opgegeven werden). Voor elk proces dat een overeenkomst oplevert, zal verhinderd worden dat B<--start> het proces opstart. Aan alle overeenkomende processen zal het TERM-signaal (of het signaal dat met B<--signal> of B<--retry> opgegeven werd) gegeven worden, indien B<--stop> opgegeven werd. Voor achtergronddiensten met langlevende dochterprocessen die bij een B<--stop> moeten blijven bestaan, moet u een pid-bestand opgeven.

=head1 COMMANDO'S

=over 

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

Nagaan of het opgegeven proces bestaat. Indien een dergelijk proces bestaat, doet B<start-stop-daemon> niets en sluit het af met foutstatus 1 (0 indien B<--oknodo> opgegeven werd). Indien een dergelijk proces niet bestaat, start het een exemplaar ervan, door het programma te gebruiken dat ofwel met B<--exec> opgegeven werd, ofwel met B<--startas> als dat gebruikt werd. Eventuele argumenten die na B<--> opgegeven werden aan de commandoregel, worden ongewijzigd doorgegeven aan het programma dat opgestart wordt.

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

Gaat na of het opgegeven proces bestaat. Indien een dergelijk proces bestaat, geeft B<start-stop-daemon> het het signaal dat met B<--signal> opgegeven werd en sluit dan af met foutstatus 0. Indien een dergelijk proces niet bestaat, sluit B<start-stop-daemon> af met foutstatus 1 (0 indien B<--oknodo> opgegeven werd). Indien B<--retry> opgegeven werd, zal B<start-stop-daemon> controleren of het/de proces(sen) beëindigd werden.

=item B<-T>, B<--status>

Gaat het bestaan van een opgegeven proces na en geeft een afsluitstatuscode terug die in overeenstemming is met de LSB-acties voor initialisatiescripts (LSB Init Script Actions) (sinds versie 1.16.1).

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

Informatie over het gebruik tonen en afsluiten.

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

De programmaversie tonen en afsluiten.

=back

=head1 OPTIES

=head2 Vergelijkingsopties

=over 

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

Nagaan of een proces bestaat met het opgegeven I<pid> (sinds versie 1.17.6). Het I<pid> moet een getal zijn groter dan 0.

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

Nagaan of een proces bestaat met het opgegeven moeder-pid I<moeder-pid> (sinds versie 1.17.7). Het I<moeder-pid> moet een getal zijn groter dan 0.

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

Nagaan of een proces het bestand I<pid-bestand> aangemaakt heeft.

B<Opmerking:> deze vergelijkingsoptie alleen gebruiken, kan ertoe leiden dat geageerd wordt op niet-bedoelde processen in het geval het oude proces eindigde zonder dat het in staat was het I<pid-bestand> te verwijderen.

B<Waarschuwing:> deze vergelijkingsoptie gebruiken met een pid-bestand dat door iedereen beschreven kan worden, of deze enkel gebruiken met een achtergronddienst die het pid-bestand wegschrijft als gebruiker zonder bijzondere rechten, zal met een foutmelding geweigerd worden (sinds versie 1.19.3) omdat het een veiligheidsrisico inhoudt. Dit is omdat elke gebruiker er naartoe kan schrijven, of omdat de inhoud van het pid-bestand niet vertrouwd kan worden als de achtergronddienst aangetast raakt, met als resultaat dat een programmauitvoerder met bijzondere rechten (zoals een init-script dat als systeembeheerder uitgevoerd wordt) op gelijk welk systeemproces kan inwerken. Het gebruik van I</dev/null> is vrijgesteld van deze controles.

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

Op processen controleren welke exemplaren zijn van dit I<programma>. Het argument I<programma> moet een absolute padnaam zijn.

B<Opmerking:> met geïnterpreteerde scripts kan dit anders dan bedoeld werken, aangezien de interpreter aangewezen zal worden als het bedoelde programma. Houd er rekening mee dat ook processen die in een chroot uitgevoerd worden een overeenkomst zullen opleveren. Het kan dus nodig zijn om bijkomende vergelijkingsrestricties op te geven.

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

Nagaan of er processen bestaan die de naam I<procesnaam> hebben. De I<procesnaam> is meestal de bestandsnaam van het proces, maar dat kan door het proces zelf gewijzigd zijn.

B<Opmerking:> op de meeste systemen wordt deze informatie gehaald uit de kernel uit de comm-naam van het proces. De limiet voor de lengte ervan heeft de tendens relatief klein te zijn (uitgaan van meer dan 15 tekens is niet-overdraagbaar).

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

Nagaan of er processen zijn die eigendom zijn van de gebruiker die met I<gebruikersnaam> of I<uid> opgegeven werd.

B<Opmerking:> enkel deze vergelijkingsoptie gebruiken zal ertoe leiden dat geageerd wordt op alle processen die met de gebruiker overeenkomen.

=back

=head2 Algemene opties

=over 

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

Naar I<groep> of I<gid> veranderen bij het starten van het proces.

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

Samen met B<--stop> gebruikt, geeft het op welk signaal moet gestuurd worden naar de processen die gestopt worden (standaard is dat TERM).

=item B<-R>, B<--retry> I<verlooptijd>|I<schema>

Samen met B<--stop> gebruikt, geeft het aan dat B<start-stop-daemon> moet nagaan of het/de proces(sen) stoppen. Het zal bij herhaling controleren of er eventueel processen actief zijn die een overeenkomst opleveren, totdat dit voor geen enkel proces nog het geval is. Indien de processen niet afsluiten, dan zal het verdere actie ondernemen, zoals aangegeven door het schema.

Indien I<verlooptijd> opgegeven werd in plaats van I<schema>, dan wordt het schema I<signaal>B</>I<verlooptijd>B</KILL/>I<verlooptijd> gebruikt, waarbij I<signaal> het signaal is dat opgegeven werd met B<--signal>.

I<schema> is een lijst van minstens twee items, van elkaar gescheiden door slashes (B</>). Elk item kan B<->I<signaalnummer> of [B<->]I<signaalnaam> zijn, hetgeen betekent dat dit signaal gegeven moet worden, of I<verlooptijd>, hetgeen betekent dat dit aantal seconden gewacht moet worden op het afsluiten van de processen, of B<forever>, hetgeen betekent dat de rest van het schema zo nodig permanent herhaald moet worden.

Indien het einde van het schema bereikt wordt en B<forever> niet opgegeven werd, dan zal B<start-stop-daemon> afsluiten met de foutstatus 2. Indien een schema opgegeven werd, dan wordt elk signaal dat met B<--signal> opgegeven werd, genegeerd.

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

Samen met B<--start> gebruikt, start dit het proces dat met I<padnaam> opgegeven werd. Indien dit niet opgegeven werd, wordt als standaard het argument gebruikt dat bij B<--exec> opgegeven werd.

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

De acties die ondernomen zouden worden tonen en de passende terugkeerwaarde geven, maar geen actie ondernemen.

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

Afsluitstatus 0 teruggeven in plaats van 1 indien er geen acties ondernomen werden(/zouden worden).

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

Geen informatieve berichten weergeven; enkel foutmeldingen tonen.

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

Naar deze gebruikersnaam/uid veranderen voordat het proces gestart wordt. U kunt ook een groep opgeven door een B<:> toe te voegen en dan de groep of gid op te geven op dezelfde manier als voor het commando B<chown>(1) (I<gebruiker>B<:>I<groep>). Indien een gebruiker opgegeven wordt zonder een groep, dan wordt voor die gebruiker zijn primaire GID gebruikt. Bij het gebruik van deze optie moet u er zich van bewust zijn dat ook de primaire en bijkomende groepen ingesteld worden, ook als de optie B<--group> niet opgegeven werd. De optie B<--group> dient enkel voor groepen waartoe de gebruiker normaal niet behoort (zoals het voor een specifiek proces instellen van een groepslidmaatschap voor algemene gebruikers zoals B<nobody>).

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

Chdir en chroot naar I<hoofdmap> voordat het proces gestart wordt. Merk op dat het pid-bestand ook na het chrooten gemaakt wordt.

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

Chdir naar I<pad> voordat het proces gestart wordt. Dit gebeurt na het chrooten als de optie B<-r>|B<--chroot> ingesteld werd. Indien dit niet opgegeven wordt, dan zal B<start-stop-daemon> een chdir naar de hoofdmap uitvoeren voordat het proces gestart wordt.

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

Wordt meestal gebruikt bij programma's die zich niet uit zichzelf afsplitsen. Deze optie dwingt B<start-stop-daemon> om een nieuw proces (fork) te beginnen voordat het proces wordt gestart, en dwingt het naar de achtergrond.

B<Waarschuwing: start-stop-daemon> kan de afsluitstatus van het proces niet opvolgen mocht de uitvoering ervan om B<een of andere> reden mislukken. Dit is een laatste toevlucht en is enkel bedoeld voor programma's waarvoor het ofwel geen zin heeft om uit zichzelf een nieuw proces (fork) te beginnen, of waarvoor het ondoenbaar is om code toe te voegen waardoor ze dat uit zichzelf zouden doen.

=item B<--notify-await>

Wachten tot het achtergrondproces een kennisgeving zendt dat het gereed is, vooraleer de dienst als opgestart beschouwd wordt (sinds versie 1.19.3). Dit past elementen van het 'readiness protocol' van systemd toe, zoals dit in de man-pagina B<sd_notify>(3) gespecificeerd wordt. De volgende variabelen worden ondersteund:

=over 

=item B<READY=1>

Het programma is gereed om zijn dienstverlening aan te bieden en dus kunnen we veilig afsluiten.

=item B<EXTEND_TIMEOUT_USEC=>I<aantal>

Het programma vraagt om de wachttijd uit te breiden met I<aantal> microseconden. Dit stelt de huidige wachttijd opnieuw in op de opgegeven waarde.

=item B<ERRNO=>I<nummer>

Het programma sluit af met een foutmelding. Hetzelfde doen en van de B<errno>-waarde de gebruikersvriendelijke tekenreeks tonen.

=back

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

Een wachttijd instellen voor de optie B<--notify-await> (sinds versie 1.19.3). Wanneer de wachttijd verlopen is, zal B<start-stop-daemon> afsluiten met een foutmelding en zal niet gewacht worden op de kennisgeving van gereedheid. Standaard is dit B<60> seconden.

=item B<-C>, B<--no-close>

Een eventuele bestandsindicator niet sluiten bij het naar de achtergrond dwingen van de achtergronddienst (sinds version 1.16.5). Gebruikt met het oog op debuggen om de uitvoer van het proces te zien of om bestandsindicatoren om te leiden om de procesuitvoer te loggen. Enkel relevant als B<--background> gebruikt wordt.

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

B<stdout> en B<stderr> omleiden naar I<padnaam> wanneer de achtergronddienst naar de achtergrond gedwongen wordt (sinds versie 1.20.6). Enkel relevant bij het gebruik van B<--background>.

=item B<-N>, B<--nicelevel> I<geheel-getal>

Dit wijzigt de prioriteit van het proces voor het gestart wordt.

=item B<-P>, B<--procsched> I<beleid>B<:>I<prioriteit>

Dit wijzigt het procesplannerbeleid en de procesplannerprioriteit van het proces voor het gestart wordt (sinds versie 1.15.0). Facultatief kan de prioriteit opgegeven worden door een B<:>, gevolgd door de waarde, toe te voegen. De standaardI<prioriteit> is 0. De momenteel ondersteunde waarden voor beleid zijn B<other>, B<fifo> en B<rr>.

Deze optie doet mogelijk niets op sommige systemen waar POSIX-procesplanning niet wordt ondersteund.

=item B<-I>, B<--iosched> I<klasse>B<:>I<prioriteit>

Dit wijzigt de IO-plannerklasse en IO-plannerprioriteit van het proces voor het gestart wordt (sinds versie 1.15.0). Facultatief kan de prioriteit opgegeven worden door een B<:>, gevolgd door de waarde, toe te voegen. De standaardI<prioriteit> is 4, tenzij I<klasse> B<idle> is. In dat geval zal I<prioriteit> steeds 7 zijn. De momenteel ondersteunde waarden voor I<klasse> zijn B<idle>, B<best-effort> en B<real-time>.

Deze optie doet mogelijk niets op sommige systemen waar Linux IO-planning niet wordt ondersteund.

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

Dit stelt het umask van het proces in voor het gestart wordt (sinds versie 1.13.22).

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

Wordt gebruikt bij het starten van een programma dat zijn eigen pid-bestand niet creëert. Deze optie zal B<start-stop-daemon> het bestand waarnaar met B<--pidfile> verwezen wordt, doen aanmaken en er het pid in doen plaatsen juist voor het uitvoeren van het proces. Merk op dat het bestand bij het stoppen van het programma enkel verwijderd zal worden als B<--remove-pidfile> gebruikt wordt.

B<Opmerking:> het is mogelijk dat deze functionaliteit niet in alle gevallen werkt. Dit is in het bijzonder zo als het programma dat uitgevoerd wordt, een nieuw proces (fork) begint vanuit zijn hoofdproces. Daarom is dit gewoonlijk enkel nuttig in combinatie met de optie B<--background>.

=item B<--remove-pidfile>

Wordt gebruikt bij het stoppen van een programma dat zijn eigen pid-bestand niet verwijdert (sinds versie 1.17.19). Deze optie zal B<start-stop-daemon> het bestand waarnaar met B<--pidfile> verwezen wordt, doen verwijderen na het beëindigen van het proces.

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

Uitvoerige informatieve mededelingen weergeven.

=back

=head1 AFSLUITSTATUS

=over 

=item B<0>

De gevraagde actie werd uitgevoerd. Indien B<--oknodo> opgegeven werd, is het ook mogelijk dat er niets gedaan moest worden. Dit kan het geval zijn als B<--start> opgegeven werd en er al een overeenkomstig proces actief was, of als B<--stop> opgegeven werd en er geen overeenkomstige processen waren.

=item B<1>

Indien B<--oknodo> niet opgegeven werd en niets gedaan werd.

=item B<2>

Indien B<--stop> en B<--retry> opgegeven werden, maar het einde van het schema bereikt werd en de processen nog steeds actief waren.

=item B<3>

Elke andere fout.

=back

Bij het gebruik van het commando B<--status>, worden de volgende statuscodes teruggegeven:

=over 

=item B<0>

Het programma is actief.

=item B<1>

Het programma is niet actief en het pid-bestand bestaat.

=item B<3>

Het programma is niet actief.

=item B<4>

Niet in staat om de status van het programma te bepalen.

=back

=head1 VOORBEELD

De achtergronddienst B<food> starten, tenzij er al één actief is (een proces met als naam food, dat actief is als gebruiker food met de pid in food.pid):

=over 

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

=back

B<SIGTERM> naar B<food> sturen en tot 5 seconden wachten op zijn beëindiging:

=over 

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

=back

Demonstratie van een aangepast schema om B<food> te stoppen:

=over 

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

=back