Hello,
Sur mon serveur Debian 4 j’ai un processus qui se lance grace à ce script enregistré dans init.d:
#!/bin/sh
### BEGIN INIT INFO
# Provides: fuppesd
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: S 0 1 6
# Short-Description: UPnP Media Server
# Description: Fuppes UPnP media server.
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DESC="UPnP Media Server"
NAME=fuppesd
DAEMON=`which $NAME`
DAEMON_ARGS="--config-dir /etc/fuppes/ --database-file /etc/fuppes/fuppes.db --log-level 1"
SCRIPTNAME=/etc/init.d/$NAME
FUPPES_USER=fuppes
FUPPES_GROUP=fuppes
# Exit if the package is not installed
if [ ! -x "$DAEMON" ]; then
{
echo "Couldn't find $DAEMON"
exit 99
}
fi
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --start --quiet --chuid $FUPPES_USER:$FUPPES_GROUP --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --chuid $FUPPES_USER:$FUPPES_GROUP --exec $DAEMON -- $DAEMON_ARGS \
|| return 2
}
#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --signal 2 --retry 5 --quiet --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
return "$RETVAL"
}
case "$1" in
start)
log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) log_end_msg 0 ;;
2) log_end_msg 1 ;;
esac
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) log_end_msg 0 ;;
2) log_end_msg 1 ;;
esac
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
:
Mon problème c’est que pour une raison qui m’est totalement inconnue (d’ailleur au passage si quelqu’un peu m’aider sur ce point je suis preneur) le processus se coupe tout seul au bout d’un temps indéterminé.
A défaut de trouver ce qui cause l’arret du-dit processus, je me dis que je pourrais tout simplement programmer une tache CRON qui verifierait si le processsus est lancé et si ce n’est pas le cas, le relancer… genre toutes les 60min par ex.
Seulement voilà, moi être pas mal rouillé en terme de programmation, et je n’ai jamais touché à tout ce qui est de scripts sh sous nunuxe. Pour l’instant je me contentais de copier ce que je trouvais ici et là.
Est-ce que quelqu’un pourrait me filer un coup de pouce pour faire ça?
Merci :jap: