/init.d 中的 daemon 函数在 fedora13 中不会在后台运行该程序

/init.d 中的 daemon 函数在 fedora13 中不会在后台运行该程序

我使用 Fedora 13 并尝试为darkice.我将脚本放在/etc/init.d目录中,如果我使用命令service darkice start,则该脚本darkice将在前台运行并且不会返回命令提示符。

如何darkice在后台运行?

以下是darkice脚本的摘录。

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/darkice
NAME=darkice
DESC="Darkice live audio streamer"

test -x $DAEMON || exit 0
CONFIGFILE="/etc/darkice.cfg"

# Source function library.
. /etc/rc.d/init.d/functions


# See how we were called.
case "$1" in
  start)
    # Start daemon.
    echo -n $"Starting darkice streaming daemon: "
    daemon "$DAEMON -c $CONFIGFILE > /dev/null"
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/darkice
    ;;
  stop)

答案1

man darkice没有关于在后台(守护进程模式)运行 darkice 的信息,但我发现提供初始化脚本的站点

Darkice 在屏幕中启动,带有-d立即分离屏幕的开关。运行它的整个命令如下所示:

DARKCONFIG="/home/drmoreau/darkice/darkice.cfg"
DARKBIN="darkice"
DARKCMD="$DARKBIN -c $DARKCONFIG"
DARKUSER="PUT YOUR LOCAL USERNAME HERE IN LOWERCASE"
SCREENEXE="screen"
SCREENOPTS="-d -m -S darkice_stream"
su "$DARKUSER" -c "$SCREENEXE"" $SCREENOPTS"" $DARKCMD"

相关内容