tuxx
Erfahrenes Mitglied
Re: Nützliche bash Skripte
Ich bastel mit viel Hilfe grad hieran:
Es prüft alle 5 sek. ob ein Programm läuft und startet es im Falle des Absturzes neu.
Kleines Problem noch daran, dass es nur den ersten PID des gestarteten Programmes in die Datei /tmp/.loeschpid schreibt, um das Programm bei Eingabe von "program -stop" zu killen.
Gestartet wird es mit "program /usr/local/bin/name-des-zu-startenden-programmes".
Ich bastel mit viel Hilfe grad hieran:
Es prüft alle 5 sek. ob ein Programm läuft und startet es im Falle des Absturzes neu.
Kleines Problem noch daran, dass es nur den ersten PID des gestarteten Programmes in die Datei /tmp/.loeschpid schreibt, um das Programm bei Eingabe von "program -stop" zu killen.
Gestartet wird es mit "program /usr/local/bin/name-des-zu-startenden-programmes".
Code:
#!/bin/sh
iam=`basename $0`
prog='/usr/local/bin/program'
if [ "$1" == "" ]
then
echo $iam $prog
echo or
echo $iam -stop
exit
fi
if [ "$1" == "-stop" ]
then
while read a
do
kill -9 $a
done < /tmp/.loeschpid
rm -f /tmp/.loeschpid
exit
fi
if [ "$2" != "-self" ]
then
$0 $1 -self&
exit
fi
pname=`basename $1`
prozesstest=`/bin/ps -A`
rm -f /tmp/.loeschpid
touch /tmp/.loeschpid
while :
do
sleep 5
testpid=`echo $prozesstest | grep $pname | wc -l`
if [ "$testpid" == 0 ]
then
$1
# ps -ax | grep $pname|grep -v grep|awk '{print $1}' >> /tmp/.loeschpid
# ps -ax | grep $prog|grep -v grep|awk '{print $1}' >> /tmp/.loeschpid
pidofproc -k "$prog" >> /tmp/.loeschpid
pidofproc -k "$pname" >> /tmp/.loeschpid
echo $$ >> /tmp/.loeschpid
fi
done