Archiv verlassen und diese Seite im Standarddesign anzeigen : Programme im Hintergrund
PirateKing
09.11.11, 16:43
Hallo,
ich versuche seit eine Weile Gameserver von PHP aus zu starten. Dabei wollte ich eigentlich "screen" nehmen, da man damit den Server starten kann, ihm einen namen geben und ihm dann später noch befehle senden kann. Doch das funkioniert nicht. Ich kann keine Screens per PHP starten, da er sagt: Must be connected to a terminal. Ich habe es mit allen möglichen Befehlen versucht. Aber es geht nicht. Es scheint als ob halt PHP kein Terminal erstellt.
Daher:
Gibt es Alternativen zu Screen mit denen man einen Prozess starten und dann Später per Script ihm wieder Befehle senden kann?
Übrigens: Ich leite das ganze über ein Python-Script.
PHP startet Python startet Den Server
Versucht habe ich:
& -> da läd der Browser ewig (vill gehts mit "nohup") und ich weiss nicht wie man befehle zu so einem Prozess im Nachhinein sendet. Außerdem wüsste ich dann nichteinmal den Namen des Prozesses.
DrunkenFreak
09.11.11, 17:05
nohup, bg/fg.
PirateKing
09.11.11, 17:52
Wenn ich das eingebe:
nohup cd gserver/mc-test/ && java -Xms300M -Xmx1024M -jar mc.jar &
-> kommt immer "no such file or directory"
wenn ich nur dashier eingebe:
cd gserver/mc-test/ -> geht
bei
nohup cd gserver/mc-test/ -> kommt wieder "no such file or directory"
Auch mit sudo läuft es gleich....
Wissen Sie warum?
derRichard
09.11.11, 18:38
weil cd ein shell-built-in und kein befehl ist, den nohup starten könnte...
//richard
PirateKing
09.11.11, 19:04
wie könnte ich diesen Befehl dann ausführen?
ohne cd funktioniert das doch nicht. Oder?
Wieso willst du überhaupt erst mit "cd" in das Verzeichnis wechseln? Übergib doch einfach java den kompletten Pfad zur jar-Datei, fertig.
-hanky-
Edit.. gerade gesehen dass du auf die anderen gehört hast und diese Experimente jetzt zuhause auf einem Server der in einer VM läuft durchführst.
Gut so.. das zeugt von Grips.
Tipp zu deinem konkreten Problem: das hat Ähnlichkeit zu deiner Frage aus dem anderen Thread.
Du kannst das "cd" weglassen und Befehle direkt mit ihrem Pfad aufrufen. Das empfiehlt sich oft in Skripten.
Beispiel:
/usr/bin/ls /home/PirateKing
listet den Inhalt des Hauptverzeichnisses des Benutzers PirateKing ... beide Pfadangaben für das ls und für das Zielverzeichnis sind absolut...
PirateKing
09.11.11, 21:49
Ja...
Aber die java-Datei erstellt Dateien. Diese werden doch dann eben dort erstellt von wo aus die .jar ausgeführt wird. Ich will aber, dass die Dateien in dem Ordner erstellt werden indem auch die .jar liegt.
Ich habe folgenden Befehl genutzt:
nohup java -Xms300M -Xmx1024M -jar gserver/mc-test/mc.jar &
Die Dateien wurden dann dort erstellt von wo aus ich das script ausgeführt habe. Also nicht bei der .jar Datei.
Und wenn dein Script erst den CD befehl und dann den nohup ausführt ?
cd dein Zielverzeichnis
nohup java -Xm....
Also ich weiss nicht warum screen nicht funktionieren soll. Vielleicht lädst du dir mal mein Webinterface herunter und schaust dir den Code an wie ich das gelöst habe.
Greeez Oli
DrunkenFreak
10.11.11, 07:10
Screen braucht normalerweise ein Terminal oder zumindest die Rechte darauf.
Und wenn dein Script erst den CD befehl und dann den nohup ausführt ?
cd dein Zielverzeichnis
nohup java -Xm....
Du meinst, genau das, was man ihm vor ca. 1 Woche schon mal empfohlen hat?
http://www.linuxforen.de/forums/showpost.php?p=1783622&postcount=11
Nur mal aus Neugier: Hast Du Dich jetzt bereits mit den Grundlagen befasst bevor Du wieder dazu übergehst Rechtestrukturen wo immer möglich auszuhebeln und Löcher in das System zu bohren? ;)
Wenn ich richtig sehe sollte mindestens die 7 Tage root server Testfunktion abgelaufen sein.. ich hoffe die Experimente laufen wirklich zuhause ab ... da macht es ja erst mal nicht so viel...
ich hoffe die Experimente laufen wirklich zuhause ab ... da macht es ja erst mal nicht so viel...
Dass das Zuhause läuft, davon ging ich jetzt aus. :cool: Meine Frage ging eher in die Richtung, ob er nun einfach 1:1 das gleiche Zuhause probiert oder ob er tatsächlich in der Zeit bereits ein Buch zum Thema gelesen und verstanden hat. :D
Die Wahrheit liegt wohl wie immer irgendwo dazwischen. Mich würde einfach interessieren wo genau.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.