Manpages

NAMN

start−stop−daemon − startar och stoppar bakgrundsprocesser

SYNOPS

start−stop−daemon [flagga...] åtgärd

BESKRIVNING

start−stop−daemon används för att kontrollera hur processer på systemnivå skapas och avslutas. Med hjälp av en av sökflaggorna kan start−stop−daemon ställas in att hitta befintliga instanser av en körande process.

Observera att om inte −−pid eller −−pidfile anges kommer start−stop−daemon att jobba på ett sätt som liknar killall(1). start−stop−daemon kommer att söka i processtabellen efter processer med motsvarande namn på processen, användar−id och/eller grupp−id (om sådant anges). Alla processer som stämmer överens kommer tillsändas signalen TERM (eller den som anges med −−signal eller −−retry) om −−stop anges. För processer som har långlivade barn som måste överleva en −−stop, måste du ange en pidfil.

KOMMANDON

−S, −−start [−−] argument

Se om en angiven process existerar, och om så är fallet gör start−stop−daemon ingenting och avslutar med status 1 (0 om −−oknodo anges). Om en sådan process inte existerar startas en instans, antingen med programfilen som anges med −−exec eller, om den anges, med −−startas. Eventuella argument som ges efter −− på kommandoraden skickas utan ändring till programmet som startas.

−K, −−stop

Testa om den angivna processen existerar. Om så är fallet sänder start−stop−daemon den signal som anges av −−signal till processen, och avslutar med status 0. Om processen inte finns avslutar start−stop−daemon med status 1 (0 om −−oknodo anges). Om −−retry anges kommer start−stop−daemon kontrollera att processen har avslutats.

−T, −−status

Check for the existence of a specified process, and returns an exit status code, according to the LSB Init Script Actions (since version 1.16.1).

−H, −−help

Visa hjälpskärm och avsluta.

−V, −−version

Visa programversion och avsluta.

FLAGGOR

Matchingsflaggor
−−pid
pid

Check for a process with the specified pid (since version 1.17.6). The pid must be a number greater than 0.

−−ppid ppid

Check for a process with the specified parent pid ppid (since version 1.17.7). The ppid must be a number greater than 0.

−p, −−pidfile pidfil

Sök efter processer vars process−id anges i pidfil.

Note: using this matching option alone might cause unintended processes to be acted on, if the old process terminated without being able to remove the pid−file.

Warning: Using this match option alone with a daemon that writes the pidfile as an unprivileged user is a security risk, because if the daemon gets compromised the contents of the pidfile cannot be trusted, and then a privileged runner (such as an init script executed as root) would end up acting on any system process.

−x, −−exec programfil

Se efter processer som är instanser av programfil. Flaggan programfil bör vara en absolut sökväg. Observera: detta fungerar kanske inte som det ska för tolkade skript eftersom programfilen kommer peka på tolken. Notera att processer som körs inuti en chroot också kommer att träffas, så andra begränsningar kan behövas.

−n, −−name processnamn

Se efter processer med namnet processnamn. Processnamn är vanligtvis processens filnamn, men kan ha ändrats av processen själv. Observera: på de flesta system hämtas informationen från processens comm−namn från kärnan, vilket ofta har en relativt kort längdbegränsning (det är inte portablet att anta fler än 15 tecken).

−u, −−user användarnamn|användar−id

Se efter processer som ägs av användaren som anges av användarnamn eller använder−id. Observera: om den här flaggan används på egen hand träffas alla processer som motsvarar användaren.

Generiska flaggor
−g
, −−group grupp|grupp−id

Byt till grupp eller grupp−id när processen startas.

−s, −−signal signal

Tillsammans med −−stop anger detta den signal som skall sändas till processen som stoppas (förval är TERM).

−R, −−retry tidsgräns|schema

Tillsammans med −−stop anger detta att start−stop−daemon skall kontrollera att processen avslutas. Den testar flera gånger efter matchande processer som körs, tills ingen längre finns kvar. Om processerna inte avslutar kommer programmet utföra ytterligare kommandon enligt schemat.

Om tidsgräns anges istället för schema kommer schemat signal/timeout/KILL/timeout att användas, där signal är den signal som anges med −−signal.

schema är den lista med åtminstone två poster avdelade med snedstreck (/); varje post är antingen signalnummer eller []signalnamn, vilket betyder att signalen skall sändas, eller timeout, vilket anger det antal sekunder programmet skall vänta på att processen avslutar, eller forever, vilket betyder att resten av schemat skall repetera för evigt om så behövs.

Om slutet på schemat nås och forever inte anges kommer start−stop−daemon avslutas med felkod 2. Om ett schema anges kommer eventuell signal angiven med −−signal att ignoreras.

−a, −−startas sökväg

Tillsammans med −−start anger detta att processen som anges med sökväg skall startas. Om den inte anges används argumentet som gavs till −−exec.

−t, −−test

Skriver ut vad som skulle ha utförts och sätter returvärdet, men utför ingenting.

−o, −−oknodo

Returnerar felstatus 0 i stället för 1 om ingen åtgärd utförs/skulle utförts.

−q, −−quiet

Skriv inte informationsmeddelanden; visa endast felmeddelanden.

−c, −−chuid användarnamn|användar−id[:grupp|grupp−id]

Change to this username/uid before starting the process. You can also specify a group by appending a :, then the group or gid in the same way as you would for the chown(1) command (user:group). If a user is specified without a group, the primary GID for that user is used. When using this option you must realize that the primary and supplemental groups are set as well, even if the −−group option is not specified. The −−group option is only for groups that the user isn’t normally a member of (like adding per process group membership for generic users like nobody).

−r, −−chroot rot

Byt katalog och rot till rot innan processen startas. Observera att även pidfilen skrivs efter chroot har utförts.

−d, −−chdir sökväg

Byt katalog till sökväg innan processen startas. Detta görs efter byte av rot om −r|−−chroot−flaggan anges. Om flaggan inte anges kommer start−stop−daemon byta till rotkatalogen innan processen startas.

−b, −−background

Typically used with programs that don’t detach on their own. This option will force start−stop−daemon to fork before starting the process, and force it into the background. Warning: start−stop−daemon cannot check the exit status if the process fails to execute for any reason. This is a last resort, and is only meant for programs that either make no sense forking on their own, or where it’s not feasible to add the code for them to do this themselves.

−C, −−no−close

Do not close any file descriptor when forcing the daemon into the background (since version 1.16.5). Used for debugging purposes to see the process output, or to redirect file descriptors to log the process output. Only relevant when using −−background.

−N, −−nicelevel heltal

Ändrar prioriteten på processen innan den startas.

−P, −−procsched policy:prioritet

This alters the process scheduler policy and priority of the process before starting it (since version 1.15.0). The priority can be optionally specified by appending a : followed by the value. The default priority is 0. The currently supported policy values are other, fifo and rr.

−I, −−iosched klass:prioritet

This alters the IO scheduler class and priority of the process before starting it (since version 1.15.0). The priority can be optionally specified by appending a : followed by the value. The default priority is 4, unless class is idle, then priority will always be 7. The currently supported values for class are idle, best−effort and real−time.

−k, −−umask maskvärde

This sets the umask of the process before starting it (since version 1.13.22).

−m, −−make−pidfile

Used when starting a program that does not create its own pid file. This option will make start−stop−daemon create the file referenced with −−pidfile and place the pid into it just before executing the process. Note, the file will only be removed when stopping the program if −−remove−pidfile is used. Note: This feature may not work in all cases. Most notably when the program being executed forks from its main process. Because of this, it is usually only useful when combined with the −−background option.

−−remove−pidfile

Used when stopping a program that does not remove its own pid file (since version 1.17.19). This option will make start−stop−daemon remove the file referenced with −−pidfile after terminating the process.

−v, −−verbose

Skriv ut pratsamma informationsmeddelanden.

RETURVÄRDE

0

Efterfrågad åtgärd utfördes. Om −−oknodo angavs är det även möjligt att ingenting behövde utföras. Det kan hända när −−start angavs och en motsvarande process redan körde, eller när −−stop angavs och det inte fanns någon motsvarande process.

1

Om −−oknodo inte angavs och ingenting gjordes.

2

Om −−stop och −−retry angavs, men slutet på tidtabellen nåddes och processen fortfarande kördes.

3

Alla andra fel.

Med −−status−åtgärden returneras följande statuskoder:

0

Programmet kör.

1

Programmet kör inte och pid−filen finns.

3

Programmet kör inte.

4

Kan inte ta reda på programmets status.

EXEMPEL

Starta serverprocessen food, såvida inte en redan kör (en process med namnet food, som körs som användaren food, med process−id i food.pid):

start−stop−daemon −−start −−oknodo −−user food −−name food \

−−pidfile /run/food.pid −−startas /usr/sbin/food \

−−chuid food −− −−daemon

Sänd SIGTERM till food och vänta upp till fem sekunder på att den skall avslutas:

start−stop−daemon −−stop −−oknodo −−user food −−name food \

−−pidfile /run/food.pid −−retry 5

Demonstration av ett skräddarsytt schema för att avsluta food:

start−stop−daemon −−stop −−oknodo −−user food −−name food \

−−pidfile /run/food.pid −−retry=TERM/30/KILL/5

ÖVERSÄTTNING

Peter Krefting och Daniel Nylander.

COMMENTS