ich würde gerne die text ausgabe auf der console eines gameservers in eine
log datei umleiten.
leider erweist sich das schwieriger als es sich anhört.
Folgendes zur Problemstellung:
Der Server selber wird über ein shell script gestartet, welcher im falle
eines server absturz selbigen neu startet:
==
#!/bin/bash
if grep "dedicated_server.*1" ~/.savage/startup.cfg;
then
rm updater/updating.lock
while (/bin/true;) do
LD_LIBRARY_PATH=libs ./dedicated_server.bin
done
else
echo error meldung blabla
fi
==
das script startet also dann die *.bin datei, welche selber 2 child prozesse
startet:
==
8877 ? S 0:00 /bin/bash ./dedicated_server.sh
13702 ? R 95:49 \_ ./dedicated_server.bin
13703 ? S 0:00 \_ ./dedicated_server.bin
13704 ? R 0:30 \_ ./dedicated_server.bin
==
und da liegt wohl das eigentliche problem, da die ausgaben auf der console
wohl vom ersten oder zweiten child prozess erzeugt werden.
ich habe schonn so ziemlich jede vorstellbare kombination mit ">" , tee und
script versucht.
sowohl am shell script selber als auch an der *.bin datei innerhalb des
shell scripts.
in der baum angabe sieht man dann halt wie tee oder script an den ersten
oder zweiten prozess, sprich das shell sript oder die erste *.bin gebunden
ist und die ausgabe endet im besten fall mit:
BSDSock_ShutDown()
wo meiner vermutung nach dann einer der childprozesse die ausgabe übernimmt.
hinzu kommt noch, dass das shell script normalerweise noch mit & im
hintergrund gestartet werden soll.
aber auch den prozess im vordergrund mit screen laufen zu lassen und zu
versuchen irgendwie nachträglich mit tee oder script zu agieren hat ausser
einer blockade des terminals und einer leeren logdatei nix gebracht.
hat irgendwer von euch ne idee wie ich trotzdem mit loggen kann, was der/die
prozess(e) so von sich geben ?
--
MfG Info
Jeder Tag an dem DU cheatest
ist ein verlorener Tag
frei nach C. Chaplin
> hat irgendwer von euch ne idee wie ich trotzdem mit loggen kann, was
> der/die prozess(e) so von sich geben ?
Schon mal versucht das script via "nohup" zu starten?
ich habe aber ne teillösung gefunden.
mit screen -L wird alles von screen selber geloggt
gruss info
"Erich Aigner" <aig...@eunet.at> schrieb im Newsbeitrag
news:40f2c092$0$7846$91ce...@newsreader02.highway.telekom.at...
Wenn nicht einer der gestarteten Prozesse die Ausgabe selber verbiegt,
kommts dort raus, wo auch der Vorgänger-Prozess hinschreibt, oder wohin
die Umleitung auf diese Art angegeben worden ist:
xxx >logdatei 2>&1
> Schon mal versucht das script via "nohup" zu starten?
Und was soll das deiner Meinung nach in diesem Fall bringen?
Erwin
--
Meine Mailadresse *ist* gültig, so wie sie ist.
http://i.wuell.net
lG he
--
Heinrich Elsigan
Email for newspostings: nos...@area23.mond.at