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
- Se om den angivna processen existerar, och returnerar en statuskod i
enlighet med LBS Init Script Actions.
- -H, --help
- Visa hjälpskärm och avsluta.
- -V, --version
- Visa programversion och avsluta.
FLAGGOR¶
Matchingsflaggor¶
- --pid pid
- Se efter en process med angiven pid. pid måste vara
ett tal större än 0.
- --ppid ppid
- Se efter en process med angiven ppid (föräldra-pid).
ppid måste vara ett tal större än 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]
- 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.
- -C, --no-close
- Stäng inte filbeskrivare när serverprocessen tvingas till
bakgrunden. Använd för felsöknignssyften för
att se processutdata, eller för att omdirigera filbeskrivare
för att logga processutdata. Endast relevant när
--background används.
- -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 endast kommer att tas
bort när programmet stoppas om --remove-pidfile
används. 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.
- --remove-pidfile
- Används när ett program som inte tar bort sin egen pid-fil
stoppas. Flaggan gör att start-stop-daemon tar bort filen
som anges med --pidfile efter att processen stoppats.
- -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.