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
--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 FÖR SÖKNING¶
- -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.
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 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¶
- 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.