PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Prozessaktivität



Neverdream
07.10.09, 19:27
Hallo,
wir betreiben auf einem VServer Linux Ubunto 8.04.
Problem ist folgendes.
Auf diesem Server läuft Teamspeak, und für Teamspeak eine Application die Wine erfordert.
Programm gestartet, und es läuft. Nur scheint es sich nach einer Zeit aufzuhängen und gibt keine Reaktion mehr von sich.
Demnach habe ich einen Crontab erstellt, welcher aus mehrern Teilen besteht:

#! /bin/bash

BOTHOME=/home/tss2s2/tss2_rc2/bots/bot8888

if ps -C 2xbot; then
echo "Bot läuft" >> $BOTHOME/botcheck.log
date >> $BOTHOME/botcheck.log
else
echo "Bot läuft nicht" >> $BOTHOME/botcheck.log
date >> $BOTHOME/tscheck.log
cd $BOTHOME
./bot_neustart >> $BOTHOME/bot_check.log
fi
sleep 10
exit 0

Dann das bot_neustart


#!/bin/bash
killall wine
killall 2xbot
sleep 30
./botscript_startscript


Und dann wieder das botscript_startscript


#!/bin/bash
nohup ./wine 2xbot &


Problem an dem ganzen: Das log füllt sich mit "Bot läuft" obwohl er dies im eigentlichen Sinne nicht macht.
Er läuft zwar, aber ist anscheinend abgestürzt.

Ich brauche irgendwie eine Methode, die nachschaut ob das Programm noch reagiert und ebend bei bedarf neustartet.

liebe grüße

marce
08.10.09, 06:12
Dann implementiere doch eine.

Zuerst mal solltest Du wohl wissen, ob das Ding eine Art Api besitzt, über die man Anfragen an die Applikation stellen kann und die dann def. Rückgabewerte liefert...

John W
08.10.09, 14:20
Warum machst du keine Endlosschleife, die den Bot startet?
while true ; do wine 2xbot; done
sollte reichen; erst wenn der Bot sich beendet, wird der nächste Befehl ausgeführt, das wäre dann wieder der Start des Bots.

marce
09.10.09, 06:15
tja, lt. Beschreibung des TE ist der Prozess ja noch am laufen - nur reagiert er eben nicht mehr wie gewünscht. Damit wäre diese Lösung eben keine :-)

ThorstenHirsch
09.10.09, 12:09
Wie wär's damit, das Programm zu debuggen und einen bug report zu schreiben, damit das eigentliche Problem (Programm hängt sich auf) gefixt wird?

marce
09.10.09, 12:24
tja, wenn nun der Hersteller noch sagen würde "ja, es läuft mit wine" - könnte man das machen. Tut er aber nicht.

John W
09.10.09, 13:14
Hups, ja, "ps -C irgendwas" sagt, ob ein Prozess existiert...
Von daher sollte er besser den Befehl wechseln.

Bekommst du ne Meldung in der Richtung "fixme:ntdll:NtLockFile I/O completion on lock not implemented yet"?
Hab mal kurz gegoogelt, dabei bin ich auf die Meldung gestoßen (unter http://bot.2x.to/forum/index.php/topic,178.300.html)