Outils personnels

Contenu de openerp-web

De wikiGite

Révision datée du 13 mai 2011 à 09:19 par Nicolas (discussion | contributions) (Page créée avec « #!/bin/sh ### BEGIN INIT INFO # Provides: openerp-web # Required-Start: $syslog # Required-Stop: $syslog # Should-Start: $network # ... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
#!/bin/sh

### BEGIN INIT INFO
# Provides:             openerp-web
# Required-Start:       $syslog
# Required-Stop:        $syslog
# Should-Start:         $network
# Should-Stop:          $network
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    OpenERP Web - the Web Client of the OpenERP
# Description:          OpenERP is a complete ERP and CRM software.
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
DAEMON=/usr/local/bin/openerp-web
NAME=openerp-web
DESC=openerp-web

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

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

# 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
return 1
}

if [ -f /lib/lsb/init-functions ] || [ -f /etc/gentoo-release ] ; then

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

RETVAL=$?
sleep 5         # wait for few seconds

return $RETVAL
}

do_stop() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo

RETVAL=$?
sleep 2         # wait for few seconds
rm -f $PIDFILE  # remove pidfile

return $RETVAL
}

do_restart() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo

sleep 2         # wait for few seconds
rm -f $PIDFILE  # remove pidfile

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

RETVAL=$?
sleep 5         # wait for few seconds

return $RETVAL
}

else

do_start() {
$DAEMON $DAEMON_OPTS > /dev/null 2>&1 &

RETVAL=$?
sleep 5         # wait for few seconds

echo $! > $PIDFILE  # create pidfile

return $RETVAL
}

do_stop() {

pid=`cat $PIDFILE`
kill -15 $pid

RETVAL=$?
sleep 2         # wait for few seconds
rm -f $PIDFILE  # remove pidfile

return $RETVAL
}

do_restart() {

if [ -f $PIDFILE ]; then
do_stop
fi

do_start

return $?
}

fi

start_daemon() {

if [ -f $PIDFILE ]; then
echo "pidfile already exists: $PIDFILE"
exit 1
fi

echo -n "Starting $DESC: "

do_start

checkpid

if [ $? -eq 1 ]; then
rm -f $PIDFILE
echo "failed."
exit 1
fi

echo "done."
}

stop_daemon() {

checkpid

if [ $? -eq 1 ]; then
exit 0
fi

echo -n "Stopping $DESC: "

do_stop

if [ $? -eq 1 ]; then
echo "failed."
exit 1
fi

echo "done."
}

restart_daemon() {

echo -n "Reloading $DESC: "

do_restart

checkpid

if [ $? -eq 1 ]; then
rm -f $PIDFILE
echo "failed."
exit 1
fi

echo "done."
}

status_daemon() {

echo -n "Checking $DESC: "

checkpid

if [ $? -eq 1 ]; then
echo "stopped."
else
echo "running."
fi
}

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

exit 0