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

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

[复制链接]

该用户从未签到

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

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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