|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
( M) _7 y$ _2 z! ?( |9 Z
- 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
+ @0 h' i. B$ f8 S8 k
. A! d+ |/ k/ Y5 g1 ~' A' O! n4 M* P/ X3 S2 B9 }' c( p5 _: g8 f
- 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
" i' T& s3 M# j, q' P7 z2 P9 l 9 ]1 ]- |- F9 [- i2 o; K
: U0 y7 c3 ~2 W2 }
8 I3 B; \" Y( qNAME0 o- ]3 p1 t, \* N
start-stop-daemon - start and stop system daemon programs1 {8 V: R! f+ Q5 e" K& X
/ b# \% L1 A. T0 K I* R, VSYNOPSIS# q1 P6 x& P; g U* G& N
start-stop-daemon [option...] command. _$ n# q, S# T& q0 Q/ r
/ s, w( Y% \* D2 j; zDESCRIPTION
3 |- ?6 y- l- l3 q& }% h5 i0 B 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
- r6 H( G. H) A7 K+ f, r4 V8 G$ M find existing instances of a running process.! S+ a* H7 U: l; B7 s
; c3 ?! K' H" L8 X; R6 i 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 processes9 C3 L* @- X2 k7 u8 S0 g
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, y7 W; N' t, k& D6 ]
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. I5 m5 ^1 M+ g2 U: K
--stop, you must specify a pidfile.7 y8 L& W/ w ^2 n# O/ X& |6 h3 G
7 B( S* B% |( i' dCOMMANDS
" L+ w( R4 o Y" l0 Y9 e
4 @0 ~; c1 S; H/ I
1 Z6 Q [2 t' i -S, --start [--] arguments2 ^8 W& f8 r$ K* l0 G& m
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.
9 ~1 Y) W' M d& h8 [+ k5 I7 N% O& ]& s2 }$ r4 {$ y; B9 t) @
-K, --stop
- {: I: g; ?' P$ u# N) a& V1 Y 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
5 S! D/ q" f) A! S) ` 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, then1 x' |$ l j% y ]8 u
start-stop-daemon will check that the process(es) have terminated.1 c- ^7 D; i# c: L9 H/ c: e
6 e; d( R6 |# \9 T
-T, --status
' z* c) K4 T m A( F0 V 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).# ?- c- ~( B: p& j- {
$ S1 s8 G7 L. d -H, --help
* A9 E+ G5 B0 d* h( b Show usage information and exit.! M% L& C2 G- ?2 V; B( g! l
`, U3 F: i) _8 A( J) v -V, --version
3 ^( }( G- B8 T% J( n3 a; r Show the program version and exit.
# A6 E, g0 q% u; j0 Z, F1 G% N" q5 Y; J. b, q
OPTIONS/ _0 e6 U i! @0 Z7 R. v
Matching options+ @3 M& ?0 \- J
2 x* |/ ?, K5 l- u6 y y
--pid pid
! `+ W8 V+ c B: R Check for a process with the specified pid (since version 1.17.6). The pid must be a number greater than 0.
7 } p8 k1 `1 F- ]' T
( r0 y( Q+ x! t: y5 w7 k3 f --ppid ppid7 ?9 Z, ?9 q( A4 m! G5 f+ M! p
Check for a process with the specified parent pid ppid (since version 1.17.7). The ppid must be a number greater than 0.
/ B& m$ r* T& ]) U @
) M0 d5 C5 F" e" [ -p, --pidfile pid-file
+ m, r% C: I9 E7 f) R: J 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' {+ f; ?+ h+ }$ C
terminated without being able to remove the pid-file.
( F S* G4 u9 z3 h- p/ I3 o$ u. L% i. s
-x, --exec executable
M/ s: a3 j8 a* [! p/ i" i* e 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.
8 v+ F; ~. O) x7 g6 b: ]! s1 E, X# i$ b" `! T. q$ }
-n, --name process-name
% d/ B( ^. f( ]2 L9 p5 o0 [) ? 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
/ v2 G4 k. ]/ i0 @7 E7 g. O% x2 C 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% V4 J$ d" z' ^: m5 E characters is non-portable). ~: o" s4 f9 p3 H$ `6 N. W
, g: } l. ^- K; e; D# f! N8 c& b+ A) F -u, --user username|uid
; I6 {$ R' I4 r, a! k 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 acted
0 X S+ h( G, ~; J/ W" ~ on.
3 b9 p% W# O4 n
/ k& a" q; ^. ~7 ^' I% BGeneric options( u4 {& H+ y* o4 t5 F) H
-g, --group group|gid N0 e- }2 H( r2 Y5 }) p
Change to group or gid when starting the process.* c: S' H# {( g- }1 p5 M5 w2 c5 f
; Z6 e- r- K( O/ r2 C o5 B5 A -s, --signal signal) H, J; W4 w# H: a+ N9 K6 C
With --stop, specifies the signal to send to processes being stopped (default TERM).' L( M' e/ ~: a. n3 O* r/ C+ Z
9 v4 U) _1 x: C. P( r! v
-b, --background
1 e, ~/ A( Z( D+ L2 }/ I* u. G 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 the0 s' T1 m1 E2 E5 f
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
6 o4 N7 O0 J) A" K! b" } 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.
+ _# z- V! ]6 r4 G
. O3 V; @3 `& A, A' s -C, --no-close- _& F! n2 H. F3 h
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
9 f2 M$ o/ A3 a redirect file descriptors to log the process output. Only relevant when using --background./ U; v' N7 b: S1 p
9 s3 Y3 v- W. O( d! E% i6 Y% g- L0 d -N, --nicelevel int2 E; ?# F0 C p9 I- Z# l
This alters the priority of the process before starting it.
8 e4 J# N% R3 V1 } i* s; K) o, K7 ]5 ~% y( V& j3 q4 u
-P, --procsched policy:priority
7 |/ m( Z: ?( W# N: b6 G' A- s 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 by
, w5 v A# t& M: W8 x; B: [ F! { appending a : followed by the value. The default priority is 0. The currently supported policy values are other, fifo and rr.
& i% ?$ N/ N' E4 U7 g3 s2 \
( q' d; U/ ~/ R' `2 S -I, --iosched class:priority! b" C2 b2 q& w/ A! P9 c& [
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
2 S/ S2 i8 h4 y) i, _" S : 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-
' X5 |# i3 T' V5 g7 H0 m effort and real-time.
5 v1 S6 a$ r) d& o# f- t% T+ b- E' U* q: s( \1 A7 i+ [# ^
-k, --umask mask6 q4 g# ?5 Z% ?1 @5 R
This sets the umask of the process before starting it (since version 1.13.22).
' B' b5 d! ^8 t! e% F2 v
% }) Y1 G' T. B. `5 Q7 } -m, --make-pidfile H8 X/ M. b" n) p4 g# `
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
2 b6 u% L. Z4 p4 A3 o: U W 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
/ x! ?+ u/ I r- ? 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 with4 t/ n5 R( B1 ^. _, ?) e
the --background option.6 W1 L. u* ?) Q1 L7 Y+ j
2 Y+ K* _' q3 n# X" _ |
|