PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Screen Crashstarter



K3zZ.dll
28.02.12, 22:02
Hallo,

ich habe seit längerem ein Problem auf meinem Root.

Ich habe dort einen gameserver installiert und führe diesen aus.

z.B. /home/game/game/start.sh

und das screen ich damit er nicht bei einer unterbrochenen Putty session stoppt.

Nun habe ich aber das Problem das er nach stunden crash (Quasi der screen "terminated")

Ich brauche eine .sh datei die checkt ob der screen noch läuft und wenn nicht diese start.sh mit screen -dmS game ./start.sh neustartet

habe folgendes, wobei es dauernd neue screens erzeugt und den root crashen lässt


while :
do
if [ screen -r bf2combat ]; then
sleep 1
else
echo "Server Crashed... Starte Combat neu..."
cd /home/kezz/bf2-combat/
screen -dmS bf2combat ./combat_start.sh
fi
done

Ich werde mich um jede Antwort freuen =)

MfG

//EDIT: Admin: Bitte zu Gameserver verschieben...

reno
29.02.12, 10:18
Ich würde das über einen cronjob machen, der jede Minute aufgerufen wird. Das Skript könnte dann so aussehen:

#!/bin/bash

PROCESS="bf2combat" # Oder wie der Prozess heißt

if pidof ${PROCESS} >/dev/null 2>&1
then
# Running
exit 0
else
echo "Server Crashed... Starte Combat neu..."
cd /home/kezz/bf2-combat/
screen -dmS bf2combat ./combat_start.sh
fi

Oder ohne crontab:

#!/bin/bash

PROCESS="bf2combat" # Oder wie der Prozess heißt

while true
do
if pidof ${PROCESS} >/dev/null 2>&1
then
# Running
else
echo "Server Crashed... Starte Combat neu..."
cd /home/kezz/bf2-combat/
screen -dmS bf2combat ./combat_start.sh
fi
sleep 5
done