找回密码
 注册
关于网站域名变更的通知
查看: 328|回复: 1
打印 上一主题 下一主题

Linux-------start-stop-daemon

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-4-13 15:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

该用户从未签到

2#
发表于 2021-4-13 17:00 | 只看该作者
Linux-------start-stop-daemon
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 18:18 , Processed in 0.171875 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表