.\" -*- 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 NAMN .IX Header "NAMN" start-stop-daemon \- startar och stoppar bakgrundsprocesser .SH SYNOPS .IX Header "SYNOPS" \&\fBstart-stop-daemon\fR [\fIflagga\fR...] \fI\(oatg\(:ard\fR .SH BESKRIVNING .IX Header "BESKRIVNING" \&\fBstart-stop-daemon\fR anv\(:ands f\(:or att styra hur processer p\(oa systemniv\(oa skapas och avslutas. Med hj\(:alp av en av s\(:okflaggorna kan \fBstart-stop-daemon\fR st\(:allas in att hitta befintliga instanser av en k\(:orande process. .PP \&\fBObservera\fR: Om inte \fB\-\-pid\fR eller \fB\-\-pidfile\fR anges kommer \fBstart-stop-daemon\fR att jobba p\(oa ett s\(:att som liknar \fBkillall\fR\|(1). \fBstart-stop-daemon\fR kommer att s\(:oka i processtabellen efter processer med motsvarande namn p\(oa processen, anv\(:andar\-id och/eller grupp-id (om s\(oadant anges). Alla processer som st\(:ammer \(:overens kommer tills\(:andas signalen TERM (eller den som anges med \fB\-\-signal\fR eller \fB\-\-retry\fR) om \fB\-\-stop\fR anges. F\(:or processer som har l\(oanglivade barn som m\(oaste \(:overleva en \fB\-\-stop\fR, m\(oaste du ange en pidfil. .SH KOMMANDON .IX Header "KOMMANDON" .IP "\fB\-S\fR, \fB\-\-start\fR [\fB\-\-\fR] \fIargument\fR" 4 .IX Item "-S, --start [--] argument" Se om en angiven process existerar, och om s\(oa \(:ar fallet g\(:or \fBstart-stop-daemon\fR ingenting och avslutar med status 1 (0 om \fB\-\-oknodo\fR anges). Om en s\(oadan process inte existerar startas en instans, antingen med programfilen som anges med \fB\-\-exec\fR eller, om den anges, med \fB\-\-startas\fR. Eventuella argument som ges efter \fB\-\-\fR p\(oa kommandoraden skickas utan \(:andring till programmet som startas. .IP "\fB\-K\fR, \fB\-\-stop\fR" 4 .IX Item "-K, --stop" Testa om den angivna processen existerar. Om s\(oa \(:ar fallet s\(:ander \fBstart-stop-daemon\fR den signal som anges av \fB\-\-signal\fR till processen, och avslutar med status 0. Om processen inte finns avslutar \fBstart-stop-daemon\fR med status 1 (0 om \fB\-\-oknodo\fR anges). Om \fB\-\-retry\fR anges kommer \fBstart-stop-daemon\fR kontrollera att processen har avslutats. .IP "\fB\-T\fR, \fB\-\-status\fR" 4 .IX Item "-T, --status" Se om den angivna processen existerar, och returnerar en statuskod i enlighet med LBS Init Script Actions (sedan version 1.16.1). .IP "\fB\-H\fR, \fB\-\-help\fR" 4 .IX Item "-H, --help" Visa hj\(:alpsk\(:arm och avsluta. .IP "\fB\-V\fR, \fB\-\-version\fR" 4 .IX Item "-V, --version" Visa programversion och avsluta. .SH FLAGGOR .IX Header "FLAGGOR" .SS Matchingsflaggor .IX Subsection "Matchingsflaggor" .IP "\fB\-\-pid\fR \fIpid\fR" 4 .IX Item "--pid pid" Se efter en process med angiven \fIpid\fR (sedan version 1.17.6). \fIpid\fR m\(oaste vara ett tal st\(:orre \(:an 0. .IP "\fB\-\-ppid\fR \fIppid\fR" 4 .IX Item "--ppid ppid" Se efter en process med angiven f\(:or\(:aldra\-pid \fIppid\fR (sedan version 1.17.7). \fIppid\fR m\(oaste vara ett tal st\(:orre \(:an 0. .IP "\fB\-p\fR, \fB\-\-pidfile\fR \fIpidfil\fR" 4 .IX Item "-p, --pidfile pidfil" Kontrollera om en process har skapat filen \fIpidfil\fR. .Sp \&\fBObservera\fR: Om flaggan anv\(:ands p\(oa egen hand kan den orsaka att o\(:onskade processer ber\(:ors, om den gamla processen avslutats utan att kunna ta bort \fIpidfil\fR. .Sp \&\fBVarning\fR: Om flaggan anv\(:ands med en pidfil som kan skrivas av alla eller om den anv\(:ands ensam tillsammans med en serverprocess som skriver pidfilen som en icke-privilegierad anv\(:andare (icke-root) kommer det att avvisas med ett felmeddelande (sedan version 1.19.3) eftersom det \(:ar en s\(:akerhetsrisk, d\(oa antingen alla anv\(:andare kan skriva filen, eller om serverprocessen komprometteras och inte inneh\(oallet i pidfilen inte \(:ar betrott, s\(oa kan en privilegiserad k\(:orprocess (till exempel ett init-skript som k\(:ors som root) kunna arbeta mot vilken som helst systemprocess. \fI/dev/null\fR \(:ar undantaget fr\(oan dessa kontroller. .IP "\fB\-x\fR, \fB\-\-exec\fR \fIprogramfil\fR" 4 .IX Item "-x, --exec programfil" Se efter processer som \(:ar instanser av \fIprogramfil\fR. Flaggan \fIprogramfil\fR b\(:or vara en absolut s\(:okv\(:ag. .Sp \&\fBObservera\fR: Detta fungerar kanske inte som det ska f\(:or tolkade skript eftersom programfilen kommer peka p\(oa tolken. Notera att processer som k\(:ors inuti en chroot ocks\(oa kommer att tr\(:affas, s\(oa andra begr\(:ansningar kan beh\(:ovas. .IP "\fB\-n\fR, \fB\-\-name\fR \fIprocessnamn\fR" 4 .IX Item "-n, --name processnamn" Se efter processer med namnet \fIprocessnamn\fR. \fIProcessnamn\fR \(:ar vanligtvis processens filnamn, men kan ha \(:andrats av processen sj\(:alv. .Sp \&\fBObservera\fR: P\(oa de flesta system h\(:amtas informationen fr\(oan processens comm-namn fr\(oan k\(:arnan, vilket ofta har en relativt kort l\(:angdbegr\(:ansning (det \(:ar inte portablet att anta fler \(:an 15 tecken). .IP "\fB\-u\fR, \fB\-\-user\fR \fIanv\(:andarnamn\fR|\fIanv\(:andar\-id\fR" 4 .IX Item "-u, --user anv\(:andarnamn|anv\(:andar-id" S\(:ok efter processer som \(:ags av den anv\(:andare som anges med \fIanv\(:andarnamn\fR eller \fIanv\(:andar\-id\fR. .Sp \&\fBObservera\fR: Om den h\(:ar flaggan anv\(:ands p\(oa egen hand tr\(:affas alla processer som motsvarar anv\(:andaren. .SS "Generiska flaggor" .IX Subsection "Generiska flaggor" .IP "\fB\-g\fR, \fB\-\-group\fR \fIgrupp\fR|\fIgrupp-id\fR" 4 .IX Item "-g, --group grupp|grupp-id" Byt till \fIgrupp\fR eller \fIgrupp-id\fR n\(:ar processen startas. .IP "\fB\-s\fR, \fB\-\-signal\fR \fIsignal\fR" 4 .IX Item "-s, --signal signal" Tillsammans med \fB\-\-stop\fR anger detta den signal som ska s\(:andas till processen som stoppas (f\(:orval \(:ar TERM). .IP "\fB\-R\fR, \fB\-\-retry\fR \fItidsgr\(:ans\fR|\fIschema\fR" 4 .IX Item "-R, --retry tidsgr\(:ans|schema" Tillsammans med \fB\-\-stop\fR anger detta att \fBstart-stop-daemon\fR ska kontrollera att processen avslutas. Den testar flera g\(oanger efter matchande processer som k\(:ors, tills ingen l\(:angre finns kvar. Om processerna inte avslutar kommer programmet utf\(:ora ytterligare kommandon enligt schemat. .Sp Om \fItidsgr\(:ans\fR anges ist\(:allet f\(:or \fIschema\fR kommer schemat \fIsignal\fR\fB/\fR\fItimeout\fR\fB/KILL/\fR\fItimeout\fR att anv\(:andas, d\(:ar \fIsignal\fR \(:ar den signal som anges med \fB\-\-signal\fR. .Sp \&\fIschema\fR \(:ar den lista med \(oatminstone tv\(oa poster avdelade med snedstreck (\fB/\fR); varje post \(:ar antingen \fB\-\fR\fIsignalnummer\fR eller [\fB\-\fR]\fIsignalnamn\fR, vilket betyder att signalen ska s\(:andas, eller \fItimeout\fR, vilket anger det antal sekunder programmet ska v\(:anta p\(oa att processen avslutar, eller \fBforever\fR, vilket betyder att resten av schemat ska repetera f\(:or evigt om s\(oa beh\(:ovs. .Sp Om slutet p\(oa schemat n\(oas och \fBforever\fR inte anges kommer \fBstart-stop-daemon\fR avslutas med felkod 2. Om ett schema anges kommer eventuell signal angiven med \fB\-\-signal\fR att ignoreras. .IP "\fB\-a\fR, \fB\-\-startas\fR \fIs\(:okv\(:ag\fR" 4 .IX Item "-a, --startas s\(:okv\(:ag" Tillsammans med \fB\-\-start\fR anger detta att processen som anges med \fIs\(:okv\(:ag\fR ska startas. Om den inte anges anv\(:ands argumentet som gavs till \fB\-\-exec\fR. .IP "\fB\-t\fR, \fB\-\-test\fR" 4 .IX Item "-t, --test" Skriver ut vad som skulle ha utf\(:orts och s\(:atter returv\(:ardet, men utf\(:or ingenting. .IP "\fB\-o\fR, \fB\-\-oknodo\fR" 4 .IX Item "-o, --oknodo" Returnerar felstatus 0 i st\(:allet f\(:or 1 om ingen \(oatg\(:ard utf\(:ors/skulle utf\(:orts. .IP "\fB\-q\fR, \fB\-\-quiet\fR" 4 .IX Item "-q, --quiet" Skriv inte informationsmeddelanden; visa endast felmeddelanden. .IP "\fB\-c\fR, \fB\-\-chuid\fR \fIanv\(:andarnamn\fR|\fIanv\(:andar\-id\fR[\fB:\fR\fIgrupp\fR|\fIgrupp-id\fR]" 4 .IX Item "-c, --chuid anv\(:andarnamn|anv\(:andar-id[:grupp|grupp-id]" Byt till anv\(:andarnamnet/anv\(:andar\-id:t innan processen startas. Du kan \(:aven ange en grupp genom att l\(:agga till ett kolontecken, \fB:\fR, f\(:oljt av gruppnamnet eller grupp-id p\(oa samma s\(:att som du skull gjort till kommandot \fBchown\fR\|(1) (\fIanv\(:andare\fR\fB:\fR\fIgrupp\fR). Om du anger en anv\(:andare utan att ange en grupp kommer anv\(:andarens prim\(:ara grupp-id att anv\(:andas. N\(:ar du anv\(:ander alternativet m\(oaste du ha i \(oatanke att \(:aven b\(oade prim\(:ar\- och till\(:aggsgrupp s\(:atts, \(:aven om \fB\-\-group\fR\-flaggan inte anges. \fB\-\-group\fR\-flaggan \(:ar bara till f\(:or grupper som anv\(:andaren normalt inte \(:ar en medlem i (t.ex f\(:or att l\(:agga till gruppmedlemskap f\(:or enskilda processer f\(:or standardanv\(:andare s\(oasom \fBnobody\fR). .IP "\fB\-r\fR, \fB\-\-chroot\fR \fIrot\fR" 4 .IX Item "-r, --chroot rot" Byt katalog och rot till \fBrot\fR innan processen startas. Observera att \(:aven pidfilen skrivs efter chroot har utf\(:orts. .IP "\fB\-d\fR, \fB\-\-chdir\fR \fIs\(:okv\(:ag\fR" 4 .IX Item "-d, --chdir s\(:okv\(:ag" Byt katalog till \fIs\(:okv\(:ag\fR innan processen startas. Detta g\(:ors efter byte av rot om \fB\-r\fR|\fB\-\-chroot\fR\-flaggan anges. Om flaggan inte anges kommer \fBstart-stop-daemon\fR byta till rotkatalogen innan processen startas. .IP "\fB\-b\fR, \fB\-\-background\fR" 4 .IX Item "-b, --background" Anv\(:ands typiskt med program som inte kopplar loss sig av sig sj\(:alva. Flaggan tvingar \fBstart-stop-daemon\fR att f\(:orgrena sig (fork) innan processen startar, och tvinga den grenen att k\(:ora i bakgrunden. .Sp \&\fBVarning\fR: \fBstart-stop-daemon\fR kan inte kontrollera felstatus f\(:or processer som av \fBn\(oagon som helst\fR anledning misslyckas med att exekvera. Detta \(:ar en sista utv\(:ag, och \(:ar endast avsett f\(:or program som det antingen inte \(:ar n\(oagon mening att f\(:orgrena p\(oa egen hand, eller d\(:ar det inte \(:ar m\(:ojligt att l\(:agga till kod f\(:or det p\(oa egen hand. .IP \fB\-\-notify\-await\fR 4 .IX Item "--notify-await" V\(:anta p\(oa att bakgrundsprocessen s\(:ander en bekr\(:aftelse p\(oa att den \(:ar redo innan tj\(:ansten anses vara startad (sedan version 1.19.3). Detta implementar delar av systemd:s beredskapsprotokoll, s\(oa som det anges i manualsidan \fBsd_notify\fR\|(3). F\(:oljande variabler st\(:ods: .RS 4 .IP \fBREADY=1\fR 4 .IX Item "READY=1" Programmet \(:ar redo att tillhandah\(oalla sin tj\(:anst, s\(oa vi kan avsluta p\(oa ett s\(:akert s\(:att. .IP \fBEXTEND_TIMEOUT_USEC=\fR\fIantal\fR 4 .IX Item "EXTEND_TIMEOUT_USEC=antal" Programmet ber om att ut\(:oka tidsgr\(:ansen med \fIantal\fR mikrosekunder. Detta kommer \(oaterst\(:alla den aktuella tidsgr\(:ansen till det angivna v\(:ardet. .IP \fBERRNO=\fR\fIv\(:arde\fR 4 .IX Item "ERRNO=v\(:arde" Programmet avslutar med en felkod. G\(:or detsamma och skriv ut den anv\(:andarv\(:anliga str\(:angen f\(:or \fBerrno\fR\-v\(:ardet. .RE .RS 4 .RE .IP "\fB\-\-notify\-timeout\fR \fItidsgr\(:ans\fR" 4 .IX Item "--notify-timeout tidsgr\(:ans" S\(:att en tidsgr\(:ans f\(:or flaggan \fB\-\-notify\-await\fR (sedan version 1.19.3). N\(:ar tidsgr\(:ansen n\(oas kommer \fBstart-stop-daemon\fR avslutas med en felkod, och ingen beredskapsinformation kommer v\(:antas p\(oa. F\(:orvalet \(:ar \fB60\fR sekunder. .IP "\fB\-C\fR, \fB\-\-no\-close\fR" 4 .IX Item "-C, --no-close" St\(:ang inte filbeskrivare n\(:ar serverprocessen tvingas till bakgrunden (sedan version 1.16.5). Anv\(:and f\(:or fels\(:oknignssyften f\(:or att se processutdata, eller f\(:or att omdirigera filbeskrivare f\(:or att logga processutdata. Endast relevant n\(:ar \fB\-\-background\fR anv\(:ands. .IP "\fB\-O\fR, \fB\-\-output\fR \fIs\(:okv\(:ag\fR" 4 .IX Item "-O, --output s\(:okv\(:ag" Omdirigera \fBstandard ut\fR och \fBstandard fel\fR till \fIs\(:okv\(:ag\fR n\(:ar serverprocessen tvingas till bakgrunden (sedan version 1.20.6). Endast relevant n\(:ar \fB\-\-background\fR anv\(:ands. .IP "\fB\-N\fR, \fB\-\-nicelevel\fR \fIheltal\fR" 4 .IX Item "-N, --nicelevel heltal" \(:Andrar prioriteten p\(oa processen innan den startas. .IP "\fB\-P\fR, \fB\-\-procsched\fR \fIpolicy\fR\fB:\fR\fIprioritet\fR" 4 .IX Item "-P, --procsched policy:prioritet" \(:Andrar processschemal\(:aggarens policy och prioritet f\(:or processen innan den startas (sedan version 1.15.0). Prioriteten \(:ar valfri och anges genom att l\(:agga till ett \fB:\fR f\(:oljt av v\(:ardet. Standardv\(:ardet f\(:or \fIprioritet\fR \(:ar 0. F\(:or n\(:arvarande st\(:ods v\(:ardena \fBother\fR, \fBfifo\fR och \fBrr\fR f\(:or \fIpolicy\fR. .Sp Det \(:ar m\(:ojligt att flaggan inte g\(:or n\(oagot p\(oa system d\(:ar POSIX\-processschemal\(:aggning inte st\(:ods. .IP "\fB\-I\fR, \fB\-\-iosched\fR \fIklass\fR\fB:\fR\fIprioritet\fR" 4 .IX Item "-I, --iosched klass:prioritet" \(:Andrar I/O\-schemal\(:aggarens klass och \-prioritet f\(:or processen innan den startas (sedan version 1.15.0). Prioriteten \(:ar valfri och anges genom att l\(:agga till ett \fB:\fR f\(:oljt av v\(:ardet. Standardv\(:ardet f\(:or \fIprioritet\fR \(:ar 4, s\(oavida inte \fIklass\fR \(:ar \fBidle\fR, d\(oa \(:ar \fIprioritet\fR alltid 7. F\(:or n\(:arvarande st\(:ods v\(:ardena \fBidle\fR, \fBbest-effort\fR och \fBreal-time\fR f\(:or \fIklass\fR. .Sp Det \(:ar m\(:ojligt att flaggan inte g\(:or n\(oagot p\(oa system d\(:ar Linux\-I/O\-schemal\(:aggning inte st\(:ods. .IP "\fB\-k\fR, \fB\-\-umask\fR \fImaskv\(:arde\fR" 4 .IX Item "-k, --umask maskv\(:arde" St\(:aller in umaskv\(:ardet p\(oa processen innan den startas (sedan version 1.13.22). .IP "\fB\-m\fR, \fB\-\-make\-pidfile\fR" 4 .IX Item "-m, --make-pidfile" Anv\(:ands n\(:ar ett program som inte skapar sin egen pidfil startas. Flaggan kommer att f\(oa \fBstart-stop-daemon\fR att skapa filen som anges med \fB\-\-pidfile\fR och l\(:agga process-id i den precis innan processen startas. Observera att den endast kommer att tas bort n\(:ar programmet stoppas om \fB\-\-remove\-pidfile\fR anv\(:ands. .Sp \&\fBObservera\fR: Funktionen kanske inte alltid fungerar. Framf\(:orallt inte n\(:ar programmet som startas f\(:orgrenar sig (fork) fr\(oan sin huvudprocess. D\(:arf\(:or \(:ar flaggan oftast bara anv\(:andbar i samband med flaggan \fB\-\-background\fR. .IP \fB\-\-remove\-pidfile\fR 4 .IX Item "--remove-pidfile" Anv\(:ands n\(:ar ett program som inte tar bort sin egen pid-fil stoppas (sedan version 1.17.19). Flaggan g\(:or att \fBstart-stop-daemon\fR tar bort filen som anges med \fB\-\-pidfile\fR efter att processen stoppats. .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Skriv ut pratsamma informationsmeddelanden. .SH RETURV\(:ARDE .IX Header "RETURV\(:ARDE" .IP \fB0\fR 4 .IX Item "0" Efterfr\(oagad \(oatg\(:ard utf\(:ordes. Om \fB\-\-oknodo\fR angavs \(:ar det \(:aven m\(:ojligt att ingenting beh\(:ovde utf\(:oras. Det kan h\(:anda n\(:ar \fB\-\-start\fR angavs och en motsvarande process redan k\(:orde, eller n\(:ar \fB\-\-stop\fR angavs och det inte fanns n\(oagon motsvarande process. .IP \fB1\fR 4 .IX Item "1" Om \fB\-\-oknodo\fR inte angavs och ingenting gjordes. .IP \fB2\fR 4 .IX Item "2" Om \fB\-\-stop\fR och \fB\-\-retry\fR angavs, men slutet p\(oa tidtabellen n\(oaddes och processen fortfarande k\(:ordes. .IP \fB3\fR 4 .IX Item "3" Alla andra fel. .PP Med \fB\-\-status\fR\-\(oatg\(:arden returneras f\(:oljande statuskoder: .IP \fB0\fR 4 .IX Item "0" Programmet k\(:or. .IP \fB1\fR 4 .IX Item "1" Programmet k\(:or inte och pid-filen finns. .IP \fB3\fR 4 .IX Item "3" Programmet k\(:or inte. .IP \fB4\fR 4 .IX Item "4" Kan inte ta reda p\(oa programmets status. .SH EXEMPEL .IX Header "EXEMPEL" Starta serverprocessen \fBfood\fR, s\(oavida inte en redan k\(:or (en process med namnet food, som k\(:ors som anv\(:andaren food, med process-id i 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 S\(:and \fBSIGTERM\fR till \fBfood\fR och v\(:anta upp till fem sekunder p\(oa att den ska avslutas: .Sp .Vb 2 \& start\-stop\-daemon \-\-stop \-\-oknodo \-\-user food \-\-name food \e \& \-\-pidfile /run/food.pid \-\-retry 5 .Ve .PP Demonstration av ett skr\(:addarsytt schema f\(:or att avsluta \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 \(:OVERS\(:ATTNING .IX Header "\(:OVERS\(:ATTNING" Peter Krefting och Daniel Nylander.