Total Pageviews

Wednesday, 4 October 2017

CentOS下,安装start-stop-daemon

CentOS是没有start-stop-daemon的,因为start-stop-daemon在debian的dpkg包里。要安装的话,需要自己折腾。
相关命令如下:
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 <marekm@i17linuxb.ists.pwr.wroc.pl>, 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
---------------------


start-stop-daemon script for Centos

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

tar -xvf apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz
cd apps
cd sys-utils/start-stop-daemon-IR1_9_18-2/

cat Makefile
---------------------------------------------
# comment this Two line for centos build. 
#AXIS_USABLE_LIBS = GLIBC UCLIBC 
#include $(AXIS_TOP_DIR)/tools/build/Rules.axis

PROG = start-stop-daemon

all: $(PROG)

install: all
        $(INSTALL) -m 0755 -o root -g root $(PROG) $(prefix)/sbin

clean:
        rm -f $(PROG)
-----------------------------------------------

-bash-3.2# make
cc     start-stop-daemon.c   -o start-stop-daemon
-bash-3.2# ls
a.out  Makefile  start-stop-daemon  start-stop-daemon.c

* Copy the daemon to bin path: 
cp start-stop-daemon /usr/bin/

* How to Use this script Please see. 
http://svn.ez.no/svn/extensions/ezfind/ezp4/trunk/extension/ezfind/bin/scripts/gentoo/solr

from http://shriikant.blogspot.com/2011/08/start-stop-daemon-script-for-centos-5.html
-------

CentOS下安装使用start-stop-daemon

在centos下下了个自启动的服务器脚本 执行的时候发现找不到start-stop-daemon命令
好吧 执行手动编译一下 加上这个命令
wget http://developer.axis.com/download/distribution/apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz

tar -xzvf apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz
# 然后进入解压之后的路径 一直 cd 到start-stop-daemon.c在的目录

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

cp start-stop-daemon /usr/bin/start-stop-daemon
ok 现在可以正常启动服务了