PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gameserver starten



Max Power
30.06.07, 10:57
Ich versuche gerade meinem Startskript für ET bei zu brigen ein pidfile zu schreiben. Mein Problem ist das die Datei zwar angelegt wird aber die pid nicht in die Datei geschrieben wird.



...

PIDFILE=$DIR/et_public.pid

start)
if [[ `ps ax | grep -v grep | grep SCREEN | grep $NAME` ]]
then
echo "$NAME l�uft bereits....<br>"
else
cd $DIR
echo "$NAME wird gestartet...."
su $USER "screen -m -d -S $NAME $DAEMON $PARAMS"
echo $! > $PIDFILE
sleep 1
echo "$NAME gestartet"
fi
;;
...

zyrusthc
30.06.07, 11:11
So wie du es jetzt hast kann es auch nicht funktionieren , den es fehlt ein & am Ende des Befehls , und wenn
du einen Prozess mit screen startest dann gibt dieser auch nicht die PID des Gameservers zurück , sondern
die PID des screen Prozesses.

Du solltest dich entscheiden ob du den Befehl normal absetzt mit & am ende , dann bekommste auch die PID ,
oder du benutzt screen und beendest auch den Gameserver wieder mit screen.

Greeez Oli

BedriddenTech
30.06.07, 18:38
Am besten mit "nohup" arbeiten - oder gleich die Daemontools installieren.