|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4 r7 p0 X1 l9 `* D; g1 _- start-stop-daemon
- BusyBox v1.26.2 (2018-08-02 17:42:03 CST) multi-call binary.
- Usage: start-stop-daemon [OPTIONS] [-S|-K] ... [-- ARGS...]
- Search for matching processes, and then
- -K: stop all matching processes.
- -S: start a process unless a matching process is found.
- Process matching:
- -u,--user USERNAME|UID Match only this user's processes
- -n,--name NAME Match processes with NAME
- in comm field in /proc/PID/stat
- -x,--exec EXECUTABLE Match processes with this command
- in /proc/PID/{exe,cmdline}
- -p,--pidfile FILE Match a process with PID from the file
- All specified conditions must match
- -S only:
- -x,--exec EXECUTABLE Program to run
- -a,--startas NAME Zeroth argument
- -b,--background Background
- -N,--nicelevel N Change nice level
- -c,--chuid USER[:[GRP]] Change to user/group
- -m,--make-pidfile Write PID to the pidfile specified by -p
- -K only:
- -s,--signal SIG Signal to send
- -t,--test Match only, exit with 0 if a process is found
- Other:
- -o,--oknodo Exit with status 0 if nothing is done
- -v,--verbose Verbose
- -q,--quiet Quiet
9 n; p- P8 h7 f& U; Z; K$ j! O
+ ~1 `8 O5 U' S
$ X1 Z! b/ ?- R9 c- E( ^ - chad@ape:/$ start-stop-daemon --help
- Usage: start-stop-daemon [<option>...] <command>
- Commands:
- -S, --start -- <argument>... start a program and pass <arguments> to it
- -K, --stop stop a program
- -T, --status get the program status
- -H, --help print help information
- -V, --version print version
- Matching options (at least one is required):
- --pid <pid> pid to check
- --ppid <ppid> parent pid to check
- -p, --pidfile <pid-file> pid file to check
- -x, --exec <executable> program to start/check if it is running
- -n, --name <process-name> process name to check
- -u, --user <username|uid> process owner to check
- Options:
- -g, --group <group|gid> run process as this group
- -c, --chuid <name|uid[:group|gid]>
- change to this user/group before starting
- process
- -s, --signal <signal> signal to send (default TERM)
- -a, --startas <pathname> program to start (default is <executable>)
- -r, --chroot <directory> chroot to <directory> before starting
- -d, --chdir <directory> change to <directory> (default is /)
- -N, --nicelevel <incr> add incr to the process' nice level
- -P, --procsched <policy[:prio]>
- use <policy> with <prio> for the kernel
- process scheduler (default prio is 0)
- -I, --iosched <class[:prio]> use <class> with <prio> to set the IO
- scheduler (default prio is 4)
- -k, --umask <mask> change the umask to <mask> before starting
- -b, --background force the process to detach
- --notify-await wait for a readiness notification
- --notify-timeout <int> timeout after <int> seconds of notify wait
- -C, --no-close do not close any file descriptor
- -m, --make-pidfile create the pidfile before starting
- --remove-pidfile delete the pidfile after stopping
- -R, --retry <schedule> check whether processes die, and retry
- -t, --test test mode, don't do anything
- -o, --oknodo exit status 0 (not 1) if nothing done
- -q, --quiet be more quiet
- -v, --verbose be more verbose
- Retry <schedule> is <item>|/<item>/... where <item> is one of
- -<signal-num>|[-]<signal-name> send that signal
- <timeout> wait that many seconds
- forever repeat remainder forever
- or <schedule> may be just <timeout>, meaning <signal>/<timeout>/KILL/<timeout>
- The process scheduler <policy> can be one of:
- other, fifo or rr
- The IO scheduler <class> can be one of:
- real-time, best-effort or idle
- Exit status:
- 0 = done
- 1 = nothing done (=> 0 if --oknodo)
- 2 = with --retry, processes would not die
- 3 = trouble
- Exit status with --status:
- 0 = program is running
- 1 = program is not running and the pid file exists
- 3 = program is not running
- 4 = unable to determine status- v0 M9 p# T: E5 q& v4 h# K
( Z! B0 ~: M) [+ O
; O! O' M, @8 Z+ B2 b) `7 o" L7 v9 Y. H; v3 ^
NAME/ J7 P+ f; H+ R/ z1 t" J( U' n' q) l% e
start-stop-daemon - start and stop system daemon programs
: x% O2 X/ t# G: l7 N% r7 `9 I1 T5 ]) G' B3 S# R
SYNOPSIS
3 ]6 i% _9 S' O1 W) z start-stop-daemon [option...] command
4 P# Q/ W- P, X& C# I" Q) Y: ~' F1 R1 B- x$ g- s
DESCRIPTION
; L0 X- b# p6 N) `5 C start-stop-daemon is used to control the creation and termination of system-level processes. Using one of the matching options, start-stop-daemon can be configured to
9 k4 i6 z( W$ D/ L9 b! n+ e find existing instances of a running process.
; t% ^$ c# k- v. ?
' K5 A: }$ v9 g9 U: w$ p+ x 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. A5 b$ q% v. f/ y
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
: |& Q( Q7 c/ b& @& ~ L9 ] 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
6 V) f- h8 t, M5 T/ t --stop, you must specify a pidfile.- u# P' o7 @2 S5 I2 b# z L
* }4 c8 ]* l v7 h# {% TCOMMANDS
' y% r# m+ y- G+ Y* G# k& P6 c
- T; ?: X1 \3 a" y* v
7 D2 z/ C9 r6 f, s5 h. [# K -S, --start [--] arguments' |- J; H/ q; W
Check for the existence of a specified process. If such a process exists, start-stop-daemon does nothing, and exits with error status 1 (0 if --oknodo is specified). If such a process does not exist, it starts an instance, using either the executable specified by --exec or, if specified, by --startas. Any arguments given after -- on the command line are passed unmodified to the program being started., i- R z3 P; M7 [8 I
" T, v8 h. C+ d# S5 D0 T
-K, --stop( z: `& F" @1 R0 x- g1 r0 B
Checks for the existence of a specified process. If such a process exists, start-stop-daemon sends it the signal specified by --signal, and exits with error% @9 h t1 `2 F, Z& k
status 0. If such a process does not exist, start-stop-daemon exits with error status 1 (0 if --oknodo is specified). If --retry is specified, then
* x. {# T( p- Z0 `1 I% I start-stop-daemon will check that the process(es) have terminated.
, I: {/ P5 G8 x4 i
6 h$ G: r+ r: _% p- N* M -T, --status
8 e0 Z2 ~& n* L2 Y5 J 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).
" E G# ?4 b! {+ ?$ s& ~. G% P! Y7 Y9 n( _
-H, --help
4 y0 v0 P* V" l: n Show usage information and exit.
$ E0 G( g9 d7 K8 D3 b5 }2 q
5 O$ y, S; I2 K& Z3 {. L -V, --version
8 P( }6 K/ |1 C9 e& `6 O Show the program version and exit.
; Z* g! W4 I5 l0 T
! A* }7 @- N3 d5 p+ o+ [6 i3 AOPTIONS" {+ \) P' E3 i. k
Matching options
( S7 V, D) R& B& Q& `& K
/ \1 F( [: D( |. H --pid pid$ J& }& }' [4 R2 T
Check for a process with the specified pid (since version 1.17.6). The pid must be a number greater than 0.
3 Z5 W+ I7 u3 W3 J$ \0 i
4 U7 ~* S6 M: y% y% X) O --ppid ppid
9 }7 M. B: z8 d0 ^" u& j4 g Check for a process with the specified parent pid ppid (since version 1.17.7). The ppid must be a number greater than 0.
: ]5 W, }" R& Z3 v4 u# t$ F- U' A& Z" o# _8 ?! E% y# I8 |
-p, --pidfile pid-file
" T! \% I" F3 T1 S4 M, I Check whether a process has created the file pid-file. Note: using this matching option alone might cause unintended processes to be acted on, if the old process" n; V# w6 g; r8 I6 O$ D; ^4 g9 i* r" K
terminated without being able to remove the pid-file." s @& r; }3 W+ d& G# K
$ W; E X, a$ z- c6 @ -x, --exec executable1 i) T# }# `3 q7 t- L" r
Check for processes that are instances of this executable. The executable argument should be an absolute pathname. Note: this might not work as intended with interpreted scripts, as the executable will point to the interpreter. Take into account processes running from inside a chroot will also be matched, so other match restrictions might be needed.
2 V# c( ]4 q6 L- @
6 L/ {% z/ P1 w' N( w! S) a$ G -n, --name process-name- N% X; l' z% f4 T: m9 J' F
Check for processes with the name process-name. The process-name is usually the process filename, but it could have been changed by the process itself. Note: on$ i. _- I9 f# O! I0 F
most systems this information is retrieved from the process comm name from the kernel, which tends to have a relatively short length limit (assuming more than 15
n$ i- r6 e) V) {/ ^- X characters is non-portable).
9 T4 A* G2 X+ L( z2 ^5 w$ Y
( _: ~. X2 V }3 D) u+ @ -u, --user username|uid
9 s7 o! U$ z7 h0 C Check for processes owned by the user specified by username or uid. Note: using this matching option alone will cause all processes matching the user to be acted3 x" ?0 f' B4 P
on.
9 i& [$ s) U8 s" R6 ^$ C' l2 a
( W# h7 \. J0 i% BGeneric options4 d8 y/ ~" }: S+ U8 O+ Q4 B
-g, --group group|gid' k- I) I- F: ^. J& m Y% l8 m
Change to group or gid when starting the process./ } t. ^, |) \% U, c3 H7 x
( T( q* }6 y) L1 l5 u -s, --signal signal7 I+ v; l3 M0 A7 }; D/ B+ m
With --stop, specifies the signal to send to processes being stopped (default TERM).$ G3 @/ N( ?- M; t% i" y3 d7 r" P
1 ~' I% {1 ]$ ~, l$ U, V -b, --background( }9 r9 {& A! l0 h6 r! x I
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
$ S4 X$ l# q) X: ?( B* E, Q4 ^ 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
; u* K: j& D4 z: [ 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.
! M0 r6 t! Q, l# O4 A- `0 M4 Y7 T5 Z. |1 x* t
-C, --no-close
$ A6 l/ ?3 A2 y5 d l 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' ~* t4 p" w% a+ @7 Q# h& E9 J) @
redirect file descriptors to log the process output. Only relevant when using --background.% e M3 R# i4 x0 ]. O
: H$ y( |3 a8 }9 ^6 \, \
-N, --nicelevel int, T ]) u/ {' C9 c4 h! H
This alters the priority of the process before starting it.. f- o& W. M+ G3 ]* J; T: y
6 W0 m1 ~5 w& y5 M -P, --procsched policy:priority9 T y3 i+ Q+ m* G
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 by3 Y/ u" |. B1 t
appending a : followed by the value. The default priority is 0. The currently supported policy values are other, fifo and rr.+ s: K0 ]2 Y) Q# d l$ Y7 M0 e
9 P2 ~' I# D' A- A -I, --iosched class:priority
% b0 u. v5 V/ J1 \, t# G1 q) M 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
1 W2 g% s1 P" S( N4 t( H : 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-3 Y J/ Q3 u: i7 M. H4 U
effort and real-time. R# l& E4 K* Q7 q+ V! T) m9 e
: [: L2 i! l% n1 ^# g) f2 ^ -k, --umask mask, N) h8 \: y$ a7 G+ V8 \1 f' s. G
This sets the umask of the process before starting it (since version 1.13.22).+ y4 D8 ]; S. Y* t
9 p P6 Y2 U' I- b4 D -m, --make-pidfile% n' m2 I8 U x! A9 |2 f) u) Q. E
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 place1 A7 G2 w$ H" b8 v/ r
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
, N4 X7 N, s7 \; n 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
- u }* x% y i. ]( O1 M the --background option.9 }) A8 }5 f. E, F3 W: A# s
: ]) I, c; E* G) o- T. @2 m/ J L
|
|