ich habe einen kleinen Skript mit dem ich meinen selbstgeschrieben Perl Daemon starten, stoppen und neustarten kann.
Das habe ich jetzt erstmal mit update.rc als Autostart mit eingefügt.
Meine Frage ist nur, wie kann ich jetzt dafür sorgen, sobald sich das Skript aus welchen Gründen auch immer selbst beendet es automatisch neugestartet wird?
Also ähnliche wie die Windows-Dienste oder unter Linux geht das ja auch.
Hier mein Skript:
Code: Alles auswählen
#!/bin/bash
# set your correct Daemon perl path
cd /var/daemon
case "$1" in
start)
echo "Starting Conv-Daemon";
if [ -f cdaemon.pid ]; then
kill -0 `cat cdaemon.pid` >/dev/null 2>&1
if [ "$?" == "0" ]; then
echo "Conv Daemon already running!"
else
rm -rf cdaemon.pid
./daemon.pl >log`date +_%d%b%y_%H:%M:%S` 2>&1 &
echo $! >cdaemon.pid
echo "PID file created"
echo "Started successfully"
fi
else
./daemon.pl >log`date +_%d%b%y_%H:%M:%S` 2>&1 &
echo $! >cdaemon.pid
echo "PID file created"
echo "Started successfully"
fi
;;
stop)
echo "Stopping Conv-Daemon..."
kill -9 `cat cdaemon.pid` >/dev/null 2>&1
if [ "$?" == "0" ]; then
rm -rf cdaemon.pid
echo "Stopped successfully"
else
echo "No Conv Daemon running!"
fi
;;
restart)
echo "Restarting Conv-Daemon..."
kill -9 `cat cdaemon.pid` >/dev/null 2>&1
if [ "$?" == "0" ]; then
rm -rf cdaemon.pid
./daemon.pl >log`date +_%d%b%y_%H:%M:%S` 2>&1 &
echo $! >cdaemon.pid
echo "PID file created"
echo "Restarted successfully"
else
echo "Conv Daemon not started"
if [ -f cdaemon.pid ]; then
rm -rf cdaemon.pid
fi
./daemon.pl >log`date +_%d%b%y_%H:%M:%S` 2>&1 &
echo $! >cdaemon.pid
echo "PID file created"
echo "Started successfully"
fi
;;
*)
echo "Usage: run_daemon [ start | stop | restart ]"
;;
esac
#
exit 0