Hallo Liste, sorry für die zweite mail, meine katze ist mir auf die tastatur gesprungen und die mail war unterwegs bevor ich sie noch aufhalten konnte :( 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 dan 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 ? Gruss I.B.
Hallo Info-Bot, hallo Leute, bei so einem Namen wäre ich meinen Eltern sehr böse. Er führt nämlich dazu, dass ich Dir in Zukunft nur sehr zurückhaltend antworte... Bitte gib Deinen echten Namen im Absender an. Am Sonntag, 11. Juli 2004 06:27 schrieb Info-Bot:
sorry für die zweite mail, meine katze ist mir auf die tastatur gesprungen und die mail war unterwegs bevor ich sie noch aufhalten konnte :(
*g* Siehe (nicht zufällige) Sig ;-)
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: [...] 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 [...] und da liegt wohl das eigentliche problem, da die ausgaben auf der console wohl vom ersten oder zweiten child prozess erzeugt werden.
Nö, hat damit nichts zu tun.
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.
Du hast vermutlich das 2>&1 am Ende der Befehlszeile vergessen. Ich tippe stark darauf, dass die Fehlermeldungen auf STDERR ausgegeben werden. Details siehe man bash (Abschnitt "Redirection") und wenn Du noch mehr Spaß mit der Ausgabeumleitung haben willst, guck mal auf http://www.cboltz.de/de/linux/bash/ vorbei ;-)
hinzu kommt noch, dass das shell script normalerweise noch mit & im hintergrund gestartet werden soll.
Ja und? Davon werden Ausgabeumleitungen innerhalb des Scripts nicht gestört. Gruß Christian Boltz -- Der von Ihnen vielleicht erwartete Input wird zu dem eines verstimmten Mitarbeiters oder eines Crackers der Monate Zeit hat, oder einer Katze, die über die Tastatur läuft in keinerlei Zusammenhang stehen. [php.net manual / security.html]
participants (2)
-
Christian Boltz
-
Info-Bot