NAZWA¶
start-stop-daemon - uruchamia i zatrzymuje demony systemowe
SKŁADNIA¶
start-stop-daemon [
opcja...]
polecenie
OPIS¶
start-stop-daemon jest wykorzystywany do kontroli procesów
uruchamianych i zatrzymywanych podczas przełączania
trybów pracy. Przez użycie jednej z opcji dopasowywania,
można skonfigurować
start-stop-daemon do wyszukiwania
istniejących instancji działającego procesu.
Note: unless
--pid or
--pidfile are specified,
start-stop-daemon behaves similar to
killall(1).
start-stop-daemon will scan the process table looking for any processes
which match the process name, parent pid, uid, and/or gid (if specified). Any
matching process will prevent
--start from starting the daemon. All
matching processes will be sent the TERM signal (or the one specified via
--signal or
--retry) if
--stop is specified. For daemons
which have long-lived children which need to live through a
--stop, you
must specify a pidfile.
POLECENIA¶
- -S, --start [--] argumenty
- Sprawdza, czy dany proces jest już uruchomiony. Jeśli tak
jest, to start-stop-daemon nie wykonuje żadnych
czynności i kończy się, zwracając kod
błędu 1 (lub 0, jeśli podano opcję
--oknodo). Jeśli dany proces nie jest jeszcze uruchomiony,
to go uruchamia, wykonując program określony albo
opcją --exec, albo jeśli podano, opcją
--startas. Wszelkie argumenty podane tuż po opcji --
są przekazywane do wykonywanego polecenia.
- -K, --stop
- Sprawdza, czy dany proces jest już uruchomiony. Jeśli tak
jest, to start-stop-daemon wysyła sygnał
określony opcją --signal i kończy swoją
pracę z kodem błędu 0. Jeśli proces nie
istnieje, start-stop-daemon kończy się z kodem
błędu 1 (lub 0, jeśli podano opcję
--oknodo). Jeżeli podano opcję --retry, to
start-stop-daemon sprawdzi, czy proces(y) się
zakończył(y).
- -T, --status
- Sprawdza istnienie podanego procesu i zwraca kod zakończenia,
zgodnie z LSB Init Script Actions.
- -H, --help
- Wyświetla informację o użytkowaniu programu i
kończy działanie.
- -V, --version
- Wyświetla informację o wersji programu i kończy
działanie.
OPCJE¶
Matching options¶
- --pid pid
- Check for a process with the specified pid. The pid must be
a number greater than 0.
- --ppid ppid
- Check for a process with the specified ppid (parent pid). The
ppid must be a number greater than 0.
- -p, --pidfile plik-pid
- Sprawdza, czy proces utworzył plik plik-pid. Uwaga:
używając wyłącznie tej opcji dopasowania
można wywołać działanie na
niewłaściwym procesie, jeśli stary proces
zakończył się bez możliwości
usunięcia pliku-pid.
- -x, --exec plik_wykonywalny
- Sprawdza procesy, będące instancją danego
pliku-wykonywalnego Argument plik-wykonywalny powinien
być pełną nazwą
ścieżkową. Uwaga: może to nie
działać zgodnie z intencją w skryptach
interpretowanych, jako że plik wykonywalny będzie
wskazywał na interpreter. Proszę ziąć pod
uwagę, że procesy działające wewnątrz
chroota również zostaną dopasowane, więc
mogą być konieczne dodatkowe warunki dopasowania.
- -n, --name nazwa-procesu
- Sprawdza procesy o nazwie nazwa-procesu. Nazwa-procesu jest
z reguły plikową nazwą procesu, ale niekiedy
może zostać zmieniona przez sam proces. Uwaga: w
większości systemów informacja ta jest pobierana z
nazwy comm procesu z jądra, która może mieć
stosunkowo duże graniczenie długości
(zakładanie więcej niż 15 znaków nie
będzie przenośne).
- -u, --user username|uid
- Sprawdza procesy będące własnością
użytkownika określonego
nazwą-użytkownika lub uid-em. Uwaga:
używanie samej opcji dopasowania spowoduje, że pod
uwagę będą wzięte wszystkie procesy z
pasującym użytkownikiem.
Generic options¶
- -g, --group group|gid
- Podczas uruchamiania procesu zmienia grupę na grupę
lub gid.
- -s, --signal sygnał
- Przy operacji --stop, wysyłany jest sygnał o podanej
wartości do zatrzymywanego procesu (domyślnie jest to
TERM).
- -R, --retry timeout|plan-działania
- W czasie operacji --stop powoduje sprawdzenie przez
start-stop-daemon, czy proces(y) się
zakończył(y). Sprawdzanie jest powtarzane, jeżeli
działa jakikolwiek pasujący proces, dopóki wszystkie
się nie skończą. Jeżeli procesy się nie
zakończą, podejmowane są akcje określone przez
parametr plan-działania.
Jeżeli określono timeout zamiast
planu-działania, to wtedy używany jest
następujący plan działania:
sygnał/ timeout/KILL/timeout,
gdzie sygnał jest określony za pomocą opcji
--signal.
plan-działania jest listą co najmniej dwóch
wartości oddzielonych znakami ukośnika ( /);
każdą z tych wartości może być albo
- numer-sygnału lub [
-]nazwa-sygnału, co oznacza wysłanie tego
sygnału, albo timeout, określający
liczbę sekund, którą należy czekać na
zakończenie procesu, albo forever, oznaczający,
że reszta planu działania ma być powtarzana
dopóki jest to konieczne.
Jeżeli osiągnięto koniec planu działania, a
opcja forever nie została użyta, to
start-stop-daemon kończy działanie z kodem
błędu 2. Jeżeli został określony plan
działania, to sygnał podany w --signal jest
ignorowany.
- -a, --startas nazwa-ścieżki
- Przy operacji --start, Uruchamiany jest program o określonej
ścieżce. Jeśli brak tej opcji,
domyślnie uruchamiany jest program podany w opcji
--exec.
- -t, --test
- Wyświetlana jest czynność, jaką
należałoby wykonać, a także zwracany jest
odpowiedni kod błędu, jednakże opcja ta nie wykonuje
żadnych operacji.
- -o, --oknodo
- Zwracany jest kod błędu 0, nawet gdyby operacja nie
zakończyła się powodzeniem (zwróciłaby
1).
- -q, --quiet
- Nie są wyświetlane żadne informacje oprócz
komunikatów o błędach.
- -c, --chuid
użytkownik|uid[:grupa| gid]
- Zmiana użytkownika/uid przed uruchomieniem procesu. Można
także zmienić grupę przez dołączenie
: wraz z nazwą grupy bądź numerem gid,
podobnie jak w poleceniu "chown" (
użytkownik: grupa). Jeżeli nie podano
grupy, to zostanie użyta podstawowa grupa tego użytkownika.
Podczas korzystania z tej opcji należy pamiętać,
że grupa główna i poboczne zostaną ustawione,
nawet gdy nie podano opcji --group. Opcja --group jest
przydatna tylko dla grup, których podany użytkownik nie jest
członkiem (na przykład przy dodawaniu procesowi
członkostwa grupy dla takich użytkowników jak
nobody).
- -r, --chroot root
- Zmienia katalog bieżący na root i czyni go
głównym katalogiem (rootem) przed wystartowaniem procesu.
Proszę zauważyć, że plik pidfile jest tworzony
po wykonaniu chroot.
- -d, --chdir ścieżka
- Chdir to path before starting the process. This is done after the
chroot if the -r|--chroot option is set. When not specified,
start-stop-daemon will chdir to the root directory before starting
the process.
- -b, --background
- Zwykle używa się tej opcji dla programów,
które nie odłączają się od terminala
(detach) samoistnie. Ta opcja spowoduje, że
start-stop-daemon utworzy proces potomny przed uruchomieniem
programu i będzie kontynuować go w tle.
OSTRZEŻENIE: start-stop-daemon nie może
sprawdzić kodu błędu, jeżeli proces się
nie wykona z jakiegokolwiek powodu. Ta opcja powinna być
używana w ostateczności i jest przewidziana tylko dla
programów, które same nie tworzą procesów
potomnych i nie jest możliwe dodanie do samego programu kodu
uruchamiającego proces potomny.
- -C, --no-close
- Nie zamyka żadnego deskryptora pliku podczas wymuszania
przejścia demona w tło. Używane w celach debugowania
do zobaczenia wyniku procesu lub do przekierowania deskryptorów
pliku do logu wyniku procesu. Ma znaczenie tylko podczas używania
--background.
- -N, --nicelevel liczba
- Zmienia priorytet uruchamianego procesu.
- -P, --procsched polityka:priorytet
- Zmienia politykę i priorytet planisty procesów dla procesu
przed jego uruchomieniem. Priorytet może być opcjonalnie
określony przez dodanie : po którym jest podana
wartość. Domyślnym priorytetem jest 0.
Aktualnie wspierane wartości dla polityki to other,
fifo oraz rr.
- -I, --iosched klasa:priorytet
- Zmienia klasę i priorytet planisty wejścia/wyjścia
dla procesu przed jego uruchomieniem. Priorytet może być
opcjonalnie określony przez dodanie : po którym jest
podana wartość. Domyślnym priorytetem jest 4,
chyba że wartością klasy jest idle, w
którym to przypadku priorytet będzie zawsze
równy 7. Aktualnie wspierane wartości dla klasy to
idle, best-effort oraz real-time.
- -k, --umask maska
- Ustawia maskę praw dostępu (umask) procesu przed jego
uruchomieniem.
- -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. This
option will make start-stop-daemon remove the file referenced with
--pidfile after terminating the process.
- -v, --verbose
- Wyświetlane są dodatkowe komunikaty.
KOD WYJŚCIA¶
- 0
- Żądana akcja została przeprowadzona. Jeżeli
użyto --oknodo, to istnieje również
możliwość, że nic nie zostało wykonane.
Może się to stać, gdy podano --start, a
pasujący proces już działał lub gdy podano
--stop i nie znaleziono pasującego procesu.
- 1
- Jeżeli --oknodo nie zostało podane i nic nie
zostało zrobione.
- 2
- Jeżeli podano --stop i --retry, ale
osiągnięto koniec harmonogramu, a procesy
wciąż były uruchomione.
- 3
- Każdy inny błąd.
Podczas użycia polecenia
--status zwracane są
następujące kody statusu:
- 0
- Program działa.
- 1
- Program nie działa, a plik PID-u istnieje.
- 3
- Program nie działa.
- 4
- Nie można określić statusu programu.
PRZYKŁAD¶
Uruchamia demon
food, jeśli jeszcze nie działa (proces
nazwany food, działający jako użytkownik food, z
identyfikatorem procesu w pliku food.pid):
-
start-stop-daemon --start --oknodo --user food --name food \
--pidfile /run/food.pid --startas /usr/sbin/food \
--chuid food -- --daemon
Wyślij
SIGTERM do
food i czekaj do 5 sekund na jego
zakończenie:
-
start-stop-daemon --stop --oknodo --user food --name food \
--pidfile /run/food.pid --retry 5
Przykład własnego planu zatrzymywania
food:
-
start-stop-daemon --stop --oknodo --user food --name food \
--pidfile /run/food.pid --retry=TERM/30/KILL/5
TŁUMACZE¶
Piotr Roszatycki <dexter@debian.org>, 1999
Bartosz Feński <fenio@debian.org>, 2004-2005
Robert Luberda <robert@debian.org>, 2006-2008
Wiktor Wandachowicz <siryes@gmail.com>, 2008
Michał Kułach <michal.kulach@gmail.com>, 2012