start-stop-daemon(8)

NAMN
start-stop-daemon - startar och stoppar bakgrundsprocesser

SYNOPS
start-stop-daemon [flaggor] å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 --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.

-H, --help
    Visa hjälpskärm och avsluta.

-V, --version
    Visa programversion och avsluta.

FLAGGOR FÖR SÖKNING

-p, --pidfile pidfil
    Sök efter processer vars process-id anges i pidfil.

-x, --exec programfil
    Sök efter processer som är instanser av programfilen (enligt /proc/pid/exe).

-n, --name processnamn
    Sök efter processer med namnet processnamn (enligt /proc/pid/stat).

-u, --user användarnamn|användar-id
    Sök efter processer som ägs av den användare som anges med användarnamn eller användar-id.

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
    Byt till användarnamnet/användar-id:t innan processen startas. Du kan även ange en grupp genom att lägga till ett kolontecken, :, följt av gruppnamnet eller grupp-id på samma sätt som du skull gjort till "chown"-kommandot (användare:grupp). Om du anger en användare utan att ange en grupp kommer användarens primära grupp-id att användas. När du använder alternativet måste du ha i åtanke att även både primär- och tilläggsgrupp sätts, även om --group-flaggan inte anges. --group-flaggan är bara till för grupper som användaren normalt inte är en medlem i (t.ex för att lägga till gruppmedlemskap för enskilda processer för standardanvändare såsom 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
    Används typiskt med program som inte kopplar loss sig av sig själva. Flagga tvingar start-stop-daemon att förgrena sig (fork) innan processen startar, och tvinga den grenen att köra i bakgrunden. VARNING: start-stop-daemon kan inte kontrollera felstatus för processer som av någon som helst anledning misslyckas med att exekvera. Detta är en sista utväg, och är endast avsett för program som det antingen inte är någon mening att förgrena på egen hand, eller där det inte är möjligt att lägga till kod för det på egen hand.

-N, --nicelevel heltal
    Ändrar prioriteten på processen innan den startas.

-P, --procsched policy:prioritet
    Ändrar processschemaläggarens policy och prioritet för processen innan den startas. Prioriteten är valfri och anges genom att lägga till ett : följt av värdet. Standardvärdet för prioritet är 0. För närvarande stöds värdena other, fifo och rr för policy.

-I, --iosched klass:prioritet
    Ändrar I/O-schemaläggarens klass och -prioritet för processen innan den startas. Prioriteten är valfri och anges genom att lägga till ett : följt av värdet. Standardvärdet för prioritet är 4, såvida inte klass är idle, då är prioritet alltid 7. För närvarande stöds värdena idle, best-effort och real-time för klass.

-k, --umask maskvärde
    Ställer in umaskvärdet på processen innan den startas.

-m, --make-pidfile
    Används när ett program som inte skapar sin egen pidfil startas. Flaggan kommer att få start-stop-daemon att skapa filen som anges med --pidfile och lägga process-id i den precis innan processen startas. Observera att den inte kommer att tas bort när programmet stoppas. OBSERVERA: Funktionen kanske inte alltid fungerar. Framförallt inte när programmet som startas förgrenar sig (fork) från sin huvudprocess. Därför är flaggan oftast bara användbar i samband med flaggan --background.

-v, --verbose
    Skriv ut pratsamma informationsmeddelanden.

RETURVÄRDE
start-stop-deamon returnerar 0 om kommandot som önskades utfördes, eller om --oknodo angavs och antingen om --start angavs och motsvarande process redan kördes, eller om --stop angavs och ingen motsvarande process hittades. Om --oknodo inte angavs och ingenting utfördes kommer 1 att returneras. Om --stop och --retry angavs men slutet på schemat nåddes och processer fortfarande kördes är felkoden 2. För alla andra fel är statusen 3.

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 /var/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 /var/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 /var/run/food.pid --retry=TERM/30/KILL/5

FÖRFATTARE
Marek Michalkiewicz <marekm@i17linuxb.ists.pwr.wroc.pl>, baserat på en tidigare version av Ian Jackson <ian@chiark.greenend.org.uk>. Manualsida av Klee Dienes <klee@mit.edu>, delvis omformaterad av Ian Jackson, översatt av Peter Krefting <peterk@debian.org>.

ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.