CentOS下安装使用start-stop-daemon

CentOS是没有start-stop-daemon的,因为start-stop-daemon在debian的dpkg包里。要安装的话,需要自己折腾。

相关命令如下:

wget http://developer.axis.com/download/distribution/apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz

tar zxf apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz

mv apps/sys-utils/start-stop-daemon-IR1_9_18-2/ ./

rm -rf apps

cd start-stop-daemon-IR1_9_18-2/

cc start-stop-daemon.c -o start-stop-daemon

cp start-stop-daemon /usr/local/bin/start-stop-daemon

至此安装完成。可以看到:

[root@localhost ~]# start-stop-daemon --help
start-stop-daemon 1.9.18 for Debian - small and fast C version written by
Marek Michalkiewicz <[email protected]>, public domain.

Usage:
  start-stop-daemon -S|--start options ... -- arguments ...
  start-stop-daemon -K|--stop options ...
  start-stop-daemon -H|--help
  start-stop-daemon -V|--version

Options (at least one of --exec|--pidfile|--user is required):
  -x|--exec <executable>        program to start/check if it is running
  -p|--pidfile <pid-file>       pid file to check
  -c|--chuid <name|uid[:group|gid]>
                change to this user/group before starting process
  -u|--user <username>|<uid>    stop processes owned by this user
  -n|--name <process-name>      stop processes with this name
  -s|--signal <signal>          signal to send (default TERM)
  -a|--startas <pathname>       program to start (default is <executable>)
  -N|--nicelevel <incr>         add incr to the process's nice level
  -b|--background               force the process to detach
  -m|--make-pidfile             create the pidfile before starting
  -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>

Exit status:  0 = done      1 = nothing done (=> 0 if --oknodo)
              3 = trouble   2 = with --retry, processes wouldn't die

本文参考了此文档

3 comments

  1. Xiaoxia says:

    好像CentOS不用start-stop-daemon,因为它有另外一个实现方式,需要包含functions文件。可以看CentOS下/etc/init.d/下面的例子。

    1. creke says:

      呵呵,daemon()是一个好函数。我装start-stop-daemon是为了与ubuntu兼容。
      我倒想请教一下,WP的垃圾评论你是怎么防范的?

  2. Almeida says:

    −k, −−umask mask, this option is missing or not support anymore?

Leave a comment