1

編集:私はこの例に従っています。

mongod 用の archlinux rc.d スクリプトを作成しようとしています。バイナリを に入れました/usr/bin。これが私がこれまでに得たものです:

#!/bin/bash

# import predefined functions
. /etc/rc.conf
. /etc/rc.d/functions

# Point to the binary
DAEMON=/usr/bin/mongod

# Get the ARGS from the conf
. /etc/conf.d/crond

# Function to get the process id
PID=$(get_pid $DAEMON)

case "$1" in
   start)
    stat_busy "Starting $DAEMON"
    # Check the PID exists - and if it does (returns 0) - do no run
    [ -z "$PID" ] && $DAEMON $ARGS $> /dev/null
    if [ $? = 0 ]; then
        add_daemon $DAEMON
        stat_done
    else
        stat_fail
        exit 1
    fi
    ;;
   stop)
        stat_busy "Stopping $DAEMON"
    kill -HUP $PID &>/dev/null

    rm_daemon $DAEMON
    stat_done
    ;;
   restart)
        $0 stop
    sleep 1
    $0 start
    ;;
    *)
        echo "usage: $0 {start|stop|restart}"
esac

問題は、実行するとsudo rc.d start mongod、次のエラーが発生することです。

:: Starting /usr/bin/mongod                                                                                   
[BUSY] /etc/rc.d/functions: line 203: /run/daemons//usr/bin/mongod: No such file or directory
                                                                                                              [DONE]
4

1 に答える 1

1

構文エラー。

$>行の代わりに使用&>しました:

[ -z "$PID" ] && $DAEMON $ARGS $> /dev/null
于 2012-08-03T14:03:05.347 に答える