Odoo(OpenERP)启动-停止守护进程脚本

Odoo(OpenERP)启动-停止守护进程脚本

我安装了 odoo 并尝试手动启动 openerp-server。一切正常。我的下一步是尝试将 odoo 添加到自动启动。为此,我使用以下脚本:

#!/bin/sh

### BEGIN INIT INFO
# Provides:             openerp-server
# Required-Start:       $remote_fs $syslog
# Required-Stop:        $remote_fs $syslog
# Should-Start:         $network
# Should-Stop:          $network
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Enterprise Resource Management software
# Description:          Open ERP is a complete ERP and CRM software.
### END INIT INFO

PATH=/bin:/sbin:/usr/bin
DAEMON=/opt/odoo/openerp-server
NAME=openerp-server
DESC=openerp-server

# Specify the user name (Default: openerp).
USER=root

# Specify an alternate config file (Default: /etc/openerp-server.conf).
CONFIGFILE="/etc/openerp-server.conf"

# pidfile
PIDFILE=/var/run/$NAME.pid

# Additional options that are passed to the Daemon.
DAEMON_OPTS="-c $CONFIGFILE"

[ -x $DAEMON ] || exit 0
[ -f $CONFIGFILE ] || exit 0

checkpid() {
    [ -f $PIDFILE ] || return 1
    pid=`cat $PIDFILE`
    [ -d /proc/$pid ] && return 0
    pid=`cat $PIDFILE`
    [ -d /proc/$pid ] && return 0
    return 1
}

case "${1}" in
        start)
                echo -n "Starting ${DESC}: "

                start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
                        --chuid ${USER} --background --make-pidfile \
                        --exec ${DAEMON} -- ${DAEMON_OPTS}

                echo "${NAME}."
                ;;

        stop)
                echo -n "Stopping ${DESC}: "

                start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
                        --oknodo

                echo "${NAME}."
                ;;

        restart|force-reload)
                echo -n "Restarting ${DESC}: "

                start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
                        --oknodo

                sleep 1

                start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
                        --chuid ${USER} --background --make-pidfile \
                        --exec ${DAEMON} -- ${DAEMON_OPTS}

                echo "${NAME}."

                echo "${NAME}."
                ;;

        *)
                N=/etc/init.d/${NAME}
                echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
               exit 1
               ;;
esac

exit 0

当我启动脚本时,pid 文件已创建但服务不起作用。此外,如果我尝试停止它,我会看到消息:

Stopping openerp-server: start-stop-daemon: warning: failed to kill 1204: No such process openerp-server.

我不明白我做错了什么。而我的老朋友谷歌也帮不了我。 这没用

也许有人已经解决了这个问题?

答案1

您尝试以 root 身份运行 openerp,这就是失败的原因,请更改:

# Specify the user name (Default: openerp).
USER=root

经过

# Specify the user name (Default: openerp).
USER=YOUR_USER_THAT_RUNS_ODOO

答案2

我遇到了同样的问题。我通过在系统启动菜单中添加 odoo-server init.d 脚本解决了这个问题。
使用以下命令创建链接:

$ sudo update-rc.d odoo-server 默认值

相关内容