man-pages/nl/man8/start-stop-daemon.8.html
2021-03-31 01:06:50 +01:00

352 lines
17 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of start-stop-daemon</TITLE>
</HEAD><BODY>
<H1>start-stop-daemon</H1>
Section: dpkg-suite (8)<BR>Updated: 2020-03-23<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAAM</H2>
start-stop-daemon - start en stopt systeemachtergronddiensten
<A NAME="lbAC">&nbsp;</A>
<H2>OVERZICHT</H2>
<B>start-stop-daemon</B> [<I>optie</I>...] <I>commando</I>
<A NAME="lbAD">&nbsp;</A>
<H2>BESCHRIJVING</H2>
<B>start-stop-daemon</B> wordt gebruikt om het cre&euml;ren en afsluiten van
processen op systeemniveau te regelen. Door een van de overeenkomstige
opties te gebruiken kan <B>start-stop-daemon</B> geconfigureerd worden om
bestaande exemplaren te vinden van actieve processen.
<P>
Opmerking: tenzij <B>--pid</B> of <B>--pidfile</B> opgegeven werden, gedraagt
<B>start-stop-daemon</B> zich gelijk <B><A HREF="/cgi-bin/man/man2html?1+killall">killall</A></B>(1). <B>start-stop-daemon</B> 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</B> het proces opstart. Aan alle overeenkomende processen zal het
TERM-signaal (of het signaal dat met <B>--signal</B> of <B>--retry</B> opgegeven
werd) gegeven worden, indien <B>--stop</B> opgegeven werd. Voor
achtergronddiensten met langlevende dochterprocessen die bij een <B>--stop</B>
moeten blijven bestaan, moet u een pid-bestand opgeven.
<A NAME="lbAE">&nbsp;</A>
<H2>COMMANDO'S</H2>
<DL COMPACT>
<DT id="1"><B>-S</B>, <B>--start</B> [<B>--</B>] <I>argumenten</I><DD>
Ga na of het opgegeven proces bestaat. Indien een dergelijk proces bestaat,
doet <B>start-stop-daemon</B> niets en sluit het af met foutstatus 1 (0 indien
<B>--oknodo</B> opgegeven werd). Indien een dergelijk proces niet bestaat, start
het een exemplaar ervan, door het programma te gebruiken dat ofwel met
<B>--exec</B> opgegeven werd, ofwel met <B>--startas</B> als dat gebruikt
werd. Eventuele argumenten die na <B>--</B> opgegeven werden aan de
commandoregel, worden ongewijzigd doorgegeven aan het programma dat
opgestart wordt.
<DT id="2"><B>-K</B>, <B>--stop</B><DD>
Gaat na of het opgegeven proces bestaat. Indien een dergelijk proces
bestaat, geeft <B>start-stop-daemon</B> het het signaal dat met <B>--signal</B>
opgegeven werd en sluit dan af met foutstatus 0. Indien een dergelijk proces
niet bestaat, sluit <B>start-stop-daemon</B> af met foutstatus 1 (0 indien
<B>--oknodo</B> opgegeven werd). Indien <B>--retry</B> opgegeven werd, zal
<B>start-stop-daemon</B> controleren of het/de proces(sen) be&euml;indigd werden.
<DT id="3"><B>-T</B>, <B>--status</B><DD>
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).
<DT id="4"><B>-H</B>, <B>--help</B><DD>
Toon informatie over het gebruik en sluit af.
<DT id="5"><B>-V</B>, <B>--version</B><DD>
Toon de programmaversie en sluit af.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>OPTIES</H2>
<A NAME="lbAG">&nbsp;</A>
<H3>Vergelijkingsopties</H3>
<DL COMPACT>
<DT id="6"><B>--pid</B> <I>pid</I><DD>
Ga na of een proces bestaat met het opgegeven <I>pid</I> (sinds versie
1.17.6). Het <I>pid</I> moet een getal zijn groter dan 0.
<DT id="7"><B>--ppid</B> <I>moeder-pid</I><DD>
Ga na of een proces bestaat met het opgegeven moeder-pid <I>moeder-pid</I>
(sinds versie 1.17.7). Het <I>moeder-pid</I> moet een getal zijn groter dan 0.
<DT id="8"><B>-p</B>, <B>--pidfile</B> <I>pid-bestand</I><DD>
Ga na of een proces het bestand <I>pid-bestand</I> aangemaakt heeft.
<DT id="9"><DD>
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</I> te verwijderen.
<DT id="10"><DD>
<B>Waarschuwing:</B> 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</I> is vrijgesteld van
deze controles.
<DT id="11"><B>-x</B>, <B>--exec</B> <I>programma</I><DD>
Ga na of er processen bestaan die exemplaren zijn van dit <I>programma</I>. Het
argument <I>programma</I> moet een absolute padnaam zijn. Opmerking: met
ge&iuml;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.
<DT id="12"><B>-n</B>, <B>--name</B> <I>procesnaam</I><DD>
Ga na of er processen bestaan die de naam <I>procesnaam</I> hebben. De
<I>procesnaam</I> is meestal de bestandsnaam van het proces, maar dat kan door
het proces zelf gewijzigd zijn. 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).
<DT id="13"><B>-u</B>, <B>--user</B> <I>gebruikersnaam</I>|<I>uid</I><DD>
Ga na of er processen zijn die eigendom zijn van de gebruiker die met
<I>gebruikersnaam</I> of <I>uid</I> opgegeven werd. Opmerking: enkel deze
vergelijkingsoptie gebruiken zal ertoe leiden dat geageerd wordt op alle
processen die met de gebruiker overeenkomen.
</DL>
<A NAME="lbAH">&nbsp;</A>
<H3>Algemene opties</H3>
<DL COMPACT>
<DT id="14"><B>-g</B>, <B>--group</B> <I>groep</I>|<I>gid</I><DD>
Verander naar <I>groep</I> of <I>gid</I> bij het starten van het proces.
<DT id="15"><B>-s</B>, <B>--signal</B> <I>signaal</I><DD>
Samen met <B>--stop</B> gebruikt, geeft het op welk signaal moet gestuurd worden
naar de processen die gestopt worden (standaard is dat TERM).
<DT id="16"><B>-R</B>, <B>--retry</B> <I>verlooptijd</I>|<I>schema</I><DD>
Samen met <B>--stop</B> gebruikt, geeft het aan dat <B>start-stop-daemon</B> 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.
<P>
Indien <I>verlooptijd</I> opgegeven werd in plaats van <I>schema</I>, dan wordt het
schema <I>signaal</I><B>/</B><I>verlooptijd</I><B>/KILL/</B><I>verlooptijd</I> gebruikt, waarbij
<I>signaal</I> het signaal is dat opgegeven werd met <B>--signal</B>.
<P>
<I>schema</I> is een lijst van minstens twee items, van elkaar gescheiden door
slashes (<B>/</B>). Elk item kan <B>-</B><I>signaalnummer</I> of [<B>-</B>]<I>signaalnaam</I>
zijn, hetgeen betekent dat dit signaal gegeven moet worden, of
<I>verlooptijd</I>, hetgeen betekent dat dit aantal seconden gewacht moet worden
op het afsluiten van de processen, of <B>forever</B>, hetgeen betekent dat de
rest van het schema zo nodig permanent herhaald moet worden.
<P>
Indien het einde van het schema bereikt wordt en <B>forever</B> niet opgegeven
werd, dan zal <B>start-stop-daemon</B> afsluiten met de foutstatus 2. Indien een
schema opgegeven werd, dan wordt elk signaal dat met <B>--signal</B> opgegeven
werd, genegeerd.
<DT id="17"><B>-a</B>, <B>--startas</B> <I>padnaam</I><DD>
Samen met <B>--start</B> gebruikt, start dit het proces dat met <I>padnaam</I>
opgegeven werd. Indien dit niet opgegeven werd, wordt als standaard het
argument gebruikt dat bij <B>--exec</B> opgegeven werd.
<DT id="18"><B>-t</B>, <B>--test</B><DD>
Toon de acties die ondernomen zouden worden en geef de passende
terugkeerwaarde, maar onderneem geen actie.
<DT id="19"><B>-o</B>, <B>--oknodo</B><DD>
Geef afsluitstatus 0 terug in plaats van 1 indien er geen acties ondernomen
werden (zouden worden).
<DT id="20"><B>-q</B>, <B>--quiet</B><DD>
Geef geen informatieve berichten weer. Toon enkel foutmeldingen.
<DT id="21"><B>-c</B>, <B>--chuid</B> <I>gebruikersnaam</I>|<I>uid</I>[<B>:</B><I>groep</I>|<I>gid</I>]<DD>
Verander naar deze gebruikersnaam/uid vooraleer het proces te starten. U
kunt ook een groep opgeven door een <B>:</B> toe te voegen en dan de groep of
gid op te geven op dezelfde manier als voor het commando <B><A HREF="/cgi-bin/man/man2html?1+chown">chown</A></B>(1)
(<I>gebruiker</I><B>:</B><I>groep</I>). 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</B> niet
opgegeven werd. De optie <B>--group</B> 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</B>).
<DT id="22"><B>-r</B>, <B>--chroot</B> <I>hoofdmap</I><DD>
Chdir en chroot naar <I>hoofdmap</I> vooraleer het proces te starten. Merk op
dat het pid-bestand ook na het chrooten gemaakt wordt.
<DT id="23"><B>-d</B>, <B>--chdir</B> <I>pad</I><DD>
Chdir naar <I>pad</I> vooraleer het proces te starten. Dit gebeurt na het
chrooten als de optie <B>-r</B>|<B>--chroot</B> ingesteld werd. Indien dit niet
opgegeven wordt, dan zal <B>start-stop-daemon</B> een chdir naar de hoofdmap
uitvoeren voor de start van het programma.
<DT id="24"><B>-b</B>, <B>--background</B><DD>
Wordt meestal gebruikt bij programma's die zich niet uit zichzelf
afsplitsen. Deze optie zal <B>start-stop-daemon</B> dwingen om een nieuw proces
(fork) te beginnen vooraleer het proces te starten en dat op de achtergrond
te plaatsen. <B>Waarschuwing: start-stop-daemon</B> kan de afsluitstatus van het
proces niet opvolgen mocht de uitvoering ervan om <B>een of andere</B> 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.
<DT id="25"><B>--notify-await</B><DD>
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><A HREF="/cgi-bin/man/man2html?3+sd_notify">sd_notify</A></B>(3) gespecificeerd wordt. De volgende variabelen
worden ondersteund:
<DL COMPACT><DT id="26"><DD>
<DL COMPACT>
<DT id="27"><B>READY=1</B><DD>
Het programma is gereed om zijn dienstverlening aan te bieden en dus kunnen
we veilig afsluiten.
<DT id="28"><B>EXTEND_TIMEOUT_USEC=</B><I>aantal</I><DD>
Het programma vraagt om de wachttijd uit te breiden met <I>aantal</I>
microseconden. Dit stelt de huidige wachttijd opnieuw in op de opgegeven
waarde.
<DT id="29"><B>ERRNO=</B><I>nummer</I><DD>
Het programma sluit af met een foutmelding. Hetzelfde doen en van de
<B>errno</B>-waarde de gebruikersvriendelijke tekenreeks tonen.
</DL>
</DL>
<DT id="30"><B>--notify-timeout</B><I>wachttijd</I><DD>
Een wachttijd instellen voor de optie <B>--notify-await</B> (sinds versie
1.19.3). Wanneer de wachttijd verlopen is, zal <B>start-stop-daemon</B>
afsluiten met een foutmelding en zal niet gewacht worden op de kennisgeving
van gereedheid. Standaard is dit <B>60</B> seconden.
<DT id="31"><B>-C</B>, <B>--no-close</B><DD>
Sluit een eventuele bestandsindicator niet 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</B> gebruikt wordt.
<DT id="32"><B>-N</B>, <B>--nicelevel</B> <I>geheel-getal</I><DD>
Dit wijzigt de prioriteit van het proces voor het gestart wordt.
<DT id="33"><B>-P</B>, <B>--procsched</B> <I>beleid</I><B>:</B><I>prioriteit</I><DD>
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>:</B>, gevolgd door de waarde, toe te
voegen. De standaard<I>prioriteit</I> is 0. De momenteel ondersteunde waarden
voor beleid zijn <B>other</B>, <B>fifo</B> en <B>rr</B>.
<DT id="34"><B>-I</B>, <B>--iosched</B> <I>klasse</I><B>:</B><I>prioriteit</I><DD>
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>:</B>, gevolgd door de waarde, toe te voegen. De
standaard<I>prioriteit</I> is 4, tenzij <I>klasse</I> <B>idle</B> is. In dat geval zal
<I>prioriteit</I> steeds 7 zijn. De momenteel ondersteunde waarden voor
<I>klasse</I> zijn <B>idle</B>, <B>best-effort</B> en <B>real-time</B>.
<DT id="35"><B>-k</B>, <B>--umask</B> <I>masker</I><DD>
Dit stelt het umask van het proces in voor het gestart wordt (sinds versie
1.13.22).
<DT id="36"><B>-m</B>, <B>--make-pidfile</B><DD>
Wordt gebruikt bij het starten van een programma dat zijn eigen pid-bestand
niet cre&euml;ert. Deze optie zal <B>start-stop-daemon</B> het bestand waarnaar met
<B>--pidfile</B> 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</B> gebruikt wordt. <B>Opmerking:</B> 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</B>.
<DT id="37"><B>--remove-pidfile</B><DD>
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</B>
het bestand waarnaar met <B>--pidfile</B> verwezen wordt, doen verwijderen na
het be&euml;indigen van het proces.
<DT id="38"><B>-v</B>, <B>--verbose</B><DD>
Geef uitvoerige informatieve mededelingen weer.
</DL>
<A NAME="lbAI">&nbsp;</A>
<H2>AFSLUITSTATUS</H2>
<DL COMPACT>
<DT id="39"><B>0</B><DD>
De gevraagde actie werd uitgevoerd. Indien <B>--oknodo</B> opgegeven werd, is
het ook mogelijk dat er niets gedaan moest worden. Dit kan het geval zijn
als <B>--start</B> opgegeven werd en er al een overeenkomstig proces actief was,
of als <B>--stop</B> opgegeven werd en er geen overeenkomstige processen waren.
<DT id="40"><B>1</B><DD>
Indien <B>--oknodo</B> niet opgegeven werd en niets gedaan werd.
<DT id="41"><B>2</B><DD>
Indien <B>--stop</B> en <B>--retry</B> opgegeven werden, maar het einde van het
schema bereikt werd en de processen nog steeds actief waren.
<DT id="42"><B>3</B><DD>
Elke andere fout.
</DL>
<P>
Bij het gebruik van het commando <B>--status</B>, worden de volgende statuscodes
teruggegeven:
<DL COMPACT>
<DT id="43"><B>0</B><DD>
Het programma is actief.
<DT id="44"><B>1</B><DD>
Het programma is niet actief en het pid-bestand bestaat.
<DT id="45"><B>3</B><DD>
Het programma is niet actief.
<DT id="46"><B>4</B><DD>
Niet in staat om de status van het programma te bepalen.
</DL>
<A NAME="lbAJ">&nbsp;</A>
<H2>VOORBEELD</H2>
Start de achtergronddienst <B>food</B> tenzij er al een actief is (een proces
met als naam food, dat actief is als gebruiker food met de pid in food.pid):
<DL COMPACT>
<DT id="47"><DD>
<PRE>
start-stop-daemon --start --oknodo --user food --name food \
--pidfile /run/food.pid --startas /usr/sbin/food \
--chuid food -- --daemon
</PRE>
</DL>
<P>
Stuur <B>SIGTERM</B> naar <B>food</B> en wacht tot 5 seconden op zijn be&euml;indiging:
<DL COMPACT>
<DT id="48"><DD>
<PRE>
start-stop-daemon --stop --oknodo --user food --name food \
--pidfile /run/food.pid --retry 5
</PRE>
</DL>
<P>
Demonstratie van een aangepast schema om <B>food</B> te stoppen:
<DL COMPACT>
<DT id="49"><DD>
<PRE>
start-stop-daemon --stop --oknodo --user food --name food \
--pidfile /run/food.pid --retry=TERM/30/KILL/5
</PRE>
<P>
</DL>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="50"><A HREF="#lbAB">NAAM</A><DD>
<DT id="51"><A HREF="#lbAC">OVERZICHT</A><DD>
<DT id="52"><A HREF="#lbAD">BESCHRIJVING</A><DD>
<DT id="53"><A HREF="#lbAE">COMMANDO'S</A><DD>
<DT id="54"><A HREF="#lbAF">OPTIES</A><DD>
<DL>
<DT id="55"><A HREF="#lbAG">Vergelijkingsopties</A><DD>
<DT id="56"><A HREF="#lbAH">Algemene opties</A><DD>
</DL>
<DT id="57"><A HREF="#lbAI">AFSLUITSTATUS</A><DD>
<DT id="58"><A HREF="#lbAJ">VOORBEELD</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:06:20 GMT, March 31, 2021
</BODY>
</HTML>