|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
3 O# R8 {9 Y( ~& x1 H
- 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
, c3 X% @+ w3 y3 |, e; p ' B( \6 d4 c0 h+ |
6 w' M4 \# r& ]% m% m
- 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
+ B5 m7 N3 B9 I3 s& Z+ c: K2 }+ O: l ! Q/ S+ G3 }9 E. c% c. W+ f
: u- b6 C, t& c$ S1 n
8 f/ k1 y, r0 o7 Y. J& i1 INAME
7 y7 }8 |7 K4 z! @. L start-stop-daemon - start and stop system daemon programs% t s1 P2 v9 i, _) W7 l/ I
) ]- }2 u" \! N R6 y: a% k* [
SYNOPSIS+ M- l. o; \2 P3 p
start-stop-daemon [option...] command
0 {; ]3 o; F6 S; t2 ?4 ^ R) @) N ?2 z6 @8 w
DESCRIPTION
0 ?6 a4 p2 U5 ~6 Q, q# F1 G 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
7 j* [ }* Z6 `& c find existing instances of a running process.
. s; q/ y1 p# E+ Z. x3 e. Y& [! b( r7 Y9 R* h
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
" T7 F+ `" d* X$ r+ Z4 P- { 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 will6 ?5 F% B: [! I' K7 r! ]
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 a2 w) M" I/ g2 N0 g# i; g( Z# F
--stop, you must specify a pidfile.+ P0 R( r3 z* G. D% ]$ Z) o u5 d
3 a* |. B6 p# N* f) a# k0 ?. v) q- }COMMANDS
: A! {2 I, Y7 X. l% M3 `( E
4 L4 b( O, U: B- b
6 _! X2 ?+ J$ b9 B5 a4 U# s -S, --start [--] arguments
5 c+ ?* X- Y: X% E; 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.$ H$ x7 d$ {, _8 Z' o/ o, x+ y
- L$ X- v+ @& P$ ^ a8 B6 ^) W -K, --stop$ u+ L7 R I% l4 i
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 error0 {. h- v5 c# t/ ?* G
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
% s" ^' p9 J/ {+ t start-stop-daemon will check that the process(es) have terminated.$ e; z0 f. u' x' ~
C1 v5 ?" ~: D! w- A* n
-T, --status
( h3 k# u' }' p6 w1 ~ 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).
/ ^+ @1 P: ~2 B1 p% [1 q
% k" m6 Q# W: w# I& C& M7 i -H, --help F7 W, ^2 J- C) U
Show usage information and exit., j% ^# j( @8 ] U* ^0 {( p( [
" c: W( `5 r* h( W
-V, --version, H* z/ w3 \/ m
Show the program version and exit.- y" g n, _# [- i3 @6 [* w
9 q0 K4 y0 I' ]0 w+ G4 vOPTIONS
$ x- x5 ^: q' ` Matching options
3 w4 x$ C( o- L( @% w- }2 ~4 }7 [, J
1 f3 d: a2 x+ S; a --pid pid0 Z8 d8 p5 W" }" o4 K4 I; N8 R6 C
Check for a process with the specified pid (since version 1.17.6). The pid must be a number greater than 0.
# i# l; g/ d2 s3 @3 J' t) I: C) G5 ^0 |% N' D
--ppid ppid
! k4 Q" l9 K& i5 z; L Check for a process with the specified parent pid ppid (since version 1.17.7). The ppid must be a number greater than 0.
, H3 Z, g6 a! ~* }" I: M# e0 V4 q8 V& p' c! K9 X
-p, --pidfile pid-file3 u/ |3 ]( R7 k
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
[8 a& U( H" a% f2 h0 Y7 @ terminated without being able to remove the pid-file.
( g. w1 X5 q9 \$ N @
* Q* L! J: e6 S9 _1 k2 p -x, --exec executable
& c, s$ f8 r/ z1 E: A* K) S 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.1 Q: Y. Z% A; K, M) S
$ Q. Q; w6 {" C2 R -n, --name process-name$ `/ F0 f4 G* s" J
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
2 L. D, x) f: u! T0 L3 n 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
' {, \0 j' } i3 k6 S8 h characters is non-portable).
% h5 \ u; d5 r( c* r- U( g
! k* ?3 a L3 ?" C7 r -u, --user username|uid
6 d1 g0 H$ S* u 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) I" i& M8 t7 T4 s' Z- f; X
on.
9 I% {( K; y; Q: m9 ~& }; L, l, |6 v+ y, L5 E* E
Generic options
- W+ V7 U* T( E3 N. c0 t& p -g, --group group|gid
4 o0 b, {) j* `! a# z# d Change to group or gid when starting the process.
: ]1 [/ i3 @! p' R. b
; J# C+ i4 w# ]4 h, ?: j& I4 d7 c -s, --signal signal, g$ E+ u. K9 E" E) M
With --stop, specifies the signal to send to processes being stopped (default TERM).) I# l; X' P( u6 G
- e/ z- Z( [1 J$ { -b, --background. n$ g- z# E$ h1 |* A; M/ w9 |
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% ~3 e) ~+ s D/ m( y7 X
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 for4 h$ q/ @8 p% `# e' O6 Z7 I
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.
9 p I4 K( M, o# ]) K D# c- s, Y" l: h9 u' u2 b
-C, --no-close. O ]6 ~1 ]% i3 {* V
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
( b+ A+ T W* G5 g redirect file descriptors to log the process output. Only relevant when using --background.; D/ J* z3 d! G V+ `0 o+ @
) _% x- U f; C1 L
-N, --nicelevel int7 y1 p: k# X: M$ K# O; e
This alters the priority of the process before starting it.
. p4 ]8 y ]8 t, P9 m8 q* s. ~2 H v9 C$ j: N$ W' C
-P, --procsched policy:priority
; N) V6 e8 J7 P% u# G. L' B 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
- n# q, W+ o9 Y4 q- I. p. z appending a : followed by the value. The default priority is 0. The currently supported policy values are other, fifo and rr.
c$ \, Y. ~2 C6 C/ @% O; W* i0 |) P- `: _& P% P7 {2 s
-I, --iosched class:priority( g1 @ o; }% }
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
+ T4 ?- D4 b( J$ W3 X4 |( e : 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-
( _+ G/ z) q! o) k/ F @+ [ effort and real-time.
" }4 e# I6 O; x) v/ O( w& r6 p, | p" m' q& y- t' a
-k, --umask mask
4 f. A3 |" q" W( k: M0 B This sets the umask of the process before starting it (since version 1.13.22).
$ w7 l4 W- q0 p" W, ^9 M. l$ _; Z7 n, ^; Y
-m, --make-pidfile
" y& u5 r- t2 w7 a 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 place4 g, n0 V" p [* I& Y5 Z) H) M" J8 d
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
4 m, s* ~) a) [: R- Z& j 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& k. i3 P3 |8 Q) Q7 a, _+ a
the --background option.
4 J! R. q( W6 s0 j# ]! q. A3 m0 S$ z
9 ]& v# C9 D; e% f& ` k |
|