start-stop-daemon自动启动、关闭后台程序参数传递

本文介绍了如何使用 start-stop-daemon 工具来启动后台进程并传递参数。具体包括 start-stop-daemon 的基本用法、参数说明及示例脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*************************************************************************
 *          start-stop-daemon自动启动、关闭后台程序参数传递
 * 说明:
 *     看了使用start-stop-deamon启动脚本,没看到怎么传递参数的,测试一下怎么
 * 使用。
 *                              
 *                                      2017-10-11 深圳 南山平山村 曾剑锋
 ************************************************************************/

一、参考文档:
    1. start-stop-daemon(8)
        http://man7.org/linux/man-pages/man8/start-stop-daemon.8.html

二、传递参数:
    1. -S, --start [--] arguments
              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.
    2. 如上所述,在--之后加入命令行参数:
        start-stop-daemon -S -b -x /usr/sbin/httpd -- -h /var/www
        
三、示例:
    cat /etc/init.d/S71httpd
        #! /bin/sh
        
        set -e
        
        DESC="httpd"
        NAME=httpd
        DAEMON=/usr/sbin/$NAME
        
        case "$1" in
          start)
                printf "Starting $DESC: "
                start-stop-daemon -S -b -x $NAME -- -h /var/www
                echo "OK"
                ;;
          stop)
                printf "Stopping $DESC: "
                start-stop-daemon -K -x $NAME
                echo "OK"
                ;;
          restart|force-reload)
                echo "Restarting $DESC: "
                $0 stop
                sleep 1
                $0 start
                echo ""
                ;;
          *)
                echo "Usage: $0 {start|stop|restart|force-reload}" >&2
                exit 1
                ;;
        esac
        
        exit 0
linux系统命令start-stop-daemon的源码及二进制,其中也提供了一个服务启动脚本模板。 此程序能帮助你实现将命令行程序变成服务运行,比如将"java -jar xxx.jar" 放在后台执行。 ./start-stop-daemon --help start-stop-daemon 1.9.18 for Debian - small and fast C version written by Marek Michalkiewicz , 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 program to start/check if it is running -p|--pidfile pid file to check -c|--chuid change to this user/group before starting process -w|--chdir change the work directory to 'dir' -u|--user | stop processes owned by this user -n|--name stop processes with this name -s|--signal signal to send (default TERM) -a|--startas program to start (default is ) -N|--nicelevel 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 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 is |//... where is one of -|[-] send that signal wait that many seconds forever repeat remainder forever or may be just , meaning //KILL/ Exit status: 0 = done 1 = nothing done (=> 0 if --oknodo) 3 = trouble 2 = with --retry, processes wouldn't die
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值