Скрипт запуска-остановки-демона Odoo (OpenERP)
Я установил odoo и попробуйте вручную запустить openerp-сервер. Все ок. Мой следующий шаг - попытаться добавить 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.
Я не понимаю, что я делаю не так. И мой старый друг Google не может помочь мне. это не поможет
Может быть, кто-нибудь решил эту проблему?
2 ответа
Вы пытаетесь запустить openerp как root, поэтому он не работает, измените:
# Specify the user name (Default: openerp).
USER=root
от
# Specify the user name (Default: openerp).
USER=YOUR_USER_THAT_RUNS_ODOO
Я столкнулся с той же проблемой. Я исправил это, добавив скрипт odoo-server init.d в меню запуска системы.
Создайте ссылку с помощью следующей команды:
$ sudo update-rc.d odoo-server по умолчанию