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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

, D4 T* o9 `4 Z* |- U1 G
  • 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 E2 k8 }7 H: _6 R& D# N, I: e, K

2 I( z7 b8 |+ ^2 p5 b5 H4 R  T9 S5 a0 R
   
  • 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
    3 n( ]0 ^5 d" i0 A+ I
        
8 K/ D/ ]* O! l! G) B% s3 H5 C& H& P8 s  T

# z  A" Z3 k! _$ pNAME
, o2 t5 O0 @: _; @  S  C2 [       start-stop-daemon - start and stop system daemon programs2 B- x0 V' G- Q* u

& H$ u& \( U7 JSYNOPSIS# M3 o+ C& e; K: O
       start-stop-daemon [option...] command- S4 N( w+ U. Z/ S5 ?8 a# p" K
. e, l. ]5 I- g" x, ?+ B
DESCRIPTION; @5 z0 ]! E" b  ^2 g. e7 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
. S; u( s' @1 s8 L       find existing instances of a running process.
9 @7 n- N( t- @7 p$ @$ v- W. O/ `7 u9 B
       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
3 [1 S( \# D, g2 y3 F, B       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$ d# o$ ]6 t' [0 _
       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: O9 c- F, Q6 Z5 i
       --stop, you must specify a pidfile.
8 z8 w* v& U  `9 p+ ]
! _$ H, l! D* v( ]4 GCOMMANDS+ o$ X* S8 T7 Y+ ~* ?$ U/ R

2 S! V# R' w1 o. v- b% E2 n+ c1 f' G7 B! @4 a5 N6 v
       -S, --start [--] arguments8 s9 R3 ]. H* p
              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.! [7 Q% b5 o) Y; q/ M6 E8 [2 @
% a, M' g: L' ?9 O) y; U
       -K, --stop
9 x! Z1 Z" f- d% ~. 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 error
& P3 L/ g( n0 _+ C              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,  then9 T( f1 t( N* }8 G( o' E
              start-stop-daemon will check that the process(es) have terminated.
8 a8 Y: j4 Y; g/ T8 L! A, ?( z% ?% A- T2 J7 q; A  a- t: h
       -T, --status
+ Q( c, N$ B* V  J! U2 l6 D              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).
. i3 w8 ]" S5 J4 ]5 A0 e3 Q
" Q4 }0 ]7 j$ ]& Z( d       -H, --help
3 N! E8 R" _% P- f+ w+ q1 ?              Show usage information and exit.( z$ N0 d3 i- a$ H
1 o* _' Q5 Q0 e. N4 ^5 [0 K
       -V, --version
  M: r/ X9 B! H: Z, ?              Show the program version and exit.6 `5 ~: V1 u; }7 H* g
. J8 a1 v) ]5 R7 t/ ]4 C/ T
OPTIONS
* x% z  [5 p* U   Matching options
, o: Z7 v" _3 ^1 T# L- J8 q% B
8 [3 B4 H& c2 ~" x+ W1 ?7 i% v0 m --pid pid7 z1 S8 u! q/ ]( ^
              Check for a process with the specified pid (since version 1.17.6).  The pid must be a number greater than 0.4 L, W8 v6 K, i5 o& w9 ]

: i% j, u" E6 O( z7 h" `% h       --ppid ppid
- ~( X- q5 s0 t' k  ?" H              Check for a process with the specified parent pid ppid (since version 1.17.7).  The ppid must be a number greater than 0.
$ z9 h9 _8 }# m0 R5 C
7 B1 Y. f5 c7 T% r       -p, --pidfile pid-file
) b/ _/ J$ C0 Y8 o4 p, ~. ^# X              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
; o: t" [3 @6 ?2 }, P! Z              terminated without being able to remove the pid-file.
6 }; q: R7 r# F: r8 J$ c0 J. W1 k1 Q7 |5 b) ]0 w/ l2 z  N
       -x, --exec executable! r& _2 [0 ~7 \+ l
              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.
! M6 g3 e8 k8 a: H0 Z  V
. u' L3 f: M9 J" [       -n, --name process-name
+ W' F, J$ I4 Q. 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:  on1 U7 s& ]* Y$ V0 r% `7 s4 ~
              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) V, H) |7 g6 {7 s4 |
              characters is non-portable).
$ B/ P( _* D  R, O  _' ~! h* I! }6 h0 _% @
       -u, --user username|uid9 n& z* V6 \$ H
              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# u" ^& Q( ]% D% i& V
              on.
9 M# e; Y6 C4 g; @4 J7 o8 X+ ^; ~5 p% D
Generic options: K3 U5 M: m2 E1 P! P: u4 {
       -g, --group group|gid" T. @+ q9 `3 `, _7 ^
              Change to group or gid when starting the process.
7 B, _. e( V; `/ @
5 C7 w9 t- _  i+ |       -s, --signal signal. I; r: H8 v6 I
              With --stop, specifies the signal to send to processes being stopped (default TERM).7 m7 ]# r8 b8 e1 M1 q+ ~( A8 f2 R& k
% M1 W" R/ m7 R( y
  -b, --background- s/ u2 P) e4 N1 Z" P
              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 M+ U" h* z- k
              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& K' H  y7 x5 f7 E3 i0 M
              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.8 z( W/ R4 W3 e# D/ d& k

$ W1 b1 _! u3 L8 B8 `( V       -C, --no-close
. n! I2 m1 l+ z  ~              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& X' f% \) t+ Y4 A( m$ T4 i- `
              redirect file descriptors to log the process output.  Only relevant when using --background./ D6 a+ l/ v! O: ]: s* n
+ K1 P: f9 Z2 b3 @; p
       -N, --nicelevel int9 B( `8 M. p" |/ i% F
              This alters the priority of the process before starting it.
! W  X4 \# p& k0 m
, w) I% `# Q4 C5 C       -P, --procsched policy:priority
: J9 O/ F' G  ]& z! M2 C/ V) m              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 by9 \- ]  J/ Y2 W. e
              appending a : followed by the value. The default priority is 0. The currently supported policy values are other, fifo and rr.$ a! F. r0 @8 N$ [

( E- n; i, l7 J) E& w       -I, --iosched class:priority
8 f, _3 S; v7 F( `- F              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  _0 x$ d7 [2 e7 b1 [2 r
              : 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-
5 H" K/ _0 f5 s; `$ _# x              effort and real-time.! Y3 i, _& X2 g6 G, |+ S; q
/ t  z% G' O- M8 s' G+ ^$ s+ A" c0 l
       -k, --umask mask
, m2 r  J5 R/ O8 G8 S7 W+ h/ g              This sets the umask of the process before starting it (since version 1.13.22).
3 X' \4 x3 A8 C3 Z# D) ?
% j6 `3 n! R& Z6 O' v/ f* D, R, F6 c       -m, --make-pidfile
* r5 y& U  U0 X- ^              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
! h8 E' f4 |/ j' d: m6 y/ c              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 feature3 x7 x3 N7 r  s1 D' `, @
              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
4 t8 _8 P# e- f              the --background option.+ C: f+ `% B  ]2 m1 ?
5 z; O4 Y* |" U" A5 X$ p1 C

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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