Storm2k
21.04.05, 18:20
Hallo,
ich lasse einen gameserver über wine starten.
Da dieser ab und zu mal abschmiert wollte ich nen script benutzen, das diesen dann sofort wieder anmacht :)
#!/bin/sh
BASEDIR=/home/user/.wine/drive_c/server/
COMMAND="wine meinserver.exe"
LOGFILE=$BASEDIR/server.log
INITPIDFILE=$BASEDIR/server.pid
PIDFILE=$BASEDIR/server2.pid
case "$1" in
start)
echo starting startscript and mohaa_lnxded
$0 fork &
echo $! > $INITPIDFILE
disown
;;
stop)
if test -f $INITPIDFILE ; then
if ps -p `cat $INITPIDFILE` | grep startscript 1> /dev/null 2> /dev/null ; then
echo killing startscript
kill -TERM `cat $INITPIDFILE` 1> /dev/null 2> /dev/null
sleep 2
kill -9 `cat $INITPIDFILE` 1> /dev/null 2> /dev/null
fi
rm $INITPIDFILE
fi
if test -f $PIDFILE ; then
if ps -p `cat $PIDFILE` | grep mohaa_lnxded 1> /dev/null 2> /dev/null ; then
echo killing mohaa_lnxded
kill -TERM `cat $PIDFILE` 1> /dev/null 2> /dev/null
sleep 2
kill -9 `cat $PIDFILE` 1> /dev/null 2> /dev/null
fi
rm $PIDFILE
fi
;;
restart)
$0 stop
$0 start
;;
check)
if test -f $INITPIDFILE ; then
if ! ps -p `cat $INITPIDFILE` | grep startscript $1> /dev/null 2> /dev/null ; then
if test -f $PIDFILE ; then
if ps -p `cat $PIDFILE` | grep ucc 1> /dev/null 2> /dev/null ; then
kill -TERM `cat $PIDFILE` 1> /dev/null 2> /dev/null
sleep 2
kill -9 `cat $PIDFILE` 1> /dev/null 2> /dev/null
fi
rm $PIDFILE
fi
rm $INITPIDFILE
$0 start > /dev/null
fi
else
if test -f $PIDFILE ; then
if ps -p `cat $PIDFILE` | grep mohaa_lnxded 1> /dev/null 2> /dev/null ; then
kill -TERM `cat $PIDFILE` 1> /dev/null 2> /dev/null
sleep 2
kill -9 `cat $PIDFILE` 1> /dev/null 2> /dev/null
fi
rm $PIDFILE
fi
$0 start > /dev/null
fi
;;
fork)
while [ true ] ; do
if test -f $LOGFILE ; then
mv $LOGFILE $LOGFILE.old
fi
$BASEDIR/$COMMAND -log > $LOGFILE &
echo $! > $PIDFILE
wait
done
;;
*)
echo "Usage: $0 {start|stop|restart|check}"
;;
esac
wenn ich nun das script starte( ./startscript )
bekomme ich nur das:
./startscript: line 71: /home/user/.wine/drive_c/server//wine: No such file or directory
mir scheint als ob er das leerzeichen nach wine net schlucken will :-(
Kann mir wer helfen?
ich lasse einen gameserver über wine starten.
Da dieser ab und zu mal abschmiert wollte ich nen script benutzen, das diesen dann sofort wieder anmacht :)
#!/bin/sh
BASEDIR=/home/user/.wine/drive_c/server/
COMMAND="wine meinserver.exe"
LOGFILE=$BASEDIR/server.log
INITPIDFILE=$BASEDIR/server.pid
PIDFILE=$BASEDIR/server2.pid
case "$1" in
start)
echo starting startscript and mohaa_lnxded
$0 fork &
echo $! > $INITPIDFILE
disown
;;
stop)
if test -f $INITPIDFILE ; then
if ps -p `cat $INITPIDFILE` | grep startscript 1> /dev/null 2> /dev/null ; then
echo killing startscript
kill -TERM `cat $INITPIDFILE` 1> /dev/null 2> /dev/null
sleep 2
kill -9 `cat $INITPIDFILE` 1> /dev/null 2> /dev/null
fi
rm $INITPIDFILE
fi
if test -f $PIDFILE ; then
if ps -p `cat $PIDFILE` | grep mohaa_lnxded 1> /dev/null 2> /dev/null ; then
echo killing mohaa_lnxded
kill -TERM `cat $PIDFILE` 1> /dev/null 2> /dev/null
sleep 2
kill -9 `cat $PIDFILE` 1> /dev/null 2> /dev/null
fi
rm $PIDFILE
fi
;;
restart)
$0 stop
$0 start
;;
check)
if test -f $INITPIDFILE ; then
if ! ps -p `cat $INITPIDFILE` | grep startscript $1> /dev/null 2> /dev/null ; then
if test -f $PIDFILE ; then
if ps -p `cat $PIDFILE` | grep ucc 1> /dev/null 2> /dev/null ; then
kill -TERM `cat $PIDFILE` 1> /dev/null 2> /dev/null
sleep 2
kill -9 `cat $PIDFILE` 1> /dev/null 2> /dev/null
fi
rm $PIDFILE
fi
rm $INITPIDFILE
$0 start > /dev/null
fi
else
if test -f $PIDFILE ; then
if ps -p `cat $PIDFILE` | grep mohaa_lnxded 1> /dev/null 2> /dev/null ; then
kill -TERM `cat $PIDFILE` 1> /dev/null 2> /dev/null
sleep 2
kill -9 `cat $PIDFILE` 1> /dev/null 2> /dev/null
fi
rm $PIDFILE
fi
$0 start > /dev/null
fi
;;
fork)
while [ true ] ; do
if test -f $LOGFILE ; then
mv $LOGFILE $LOGFILE.old
fi
$BASEDIR/$COMMAND -log > $LOGFILE &
echo $! > $PIDFILE
wait
done
;;
*)
echo "Usage: $0 {start|stop|restart|check}"
;;
esac
wenn ich nun das script starte( ./startscript )
bekomme ich nur das:
./startscript: line 71: /home/user/.wine/drive_c/server//wine: No such file or directory
mir scheint als ob er das leerzeichen nach wine net schlucken will :-(
Kann mir wer helfen?