table of contents
start-stop-daemon(8) | Dpkg-sviten | start-stop-daemon(8) |
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
- Kontrollera om en process har skapat filen pidfil. Observera: om flaggan används på egen hand kan den orsaka att oönskade processer berörs, om den gamla processen avslutats utan att kunna ta bort pidfil.
- -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.
2017-10-22 | 1.19.0.4 |