PDA

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?

-hanky-
09.11.11, 19:41
Wieso willst du überhaupt erst mit "cd" in das Verzeichnis wechseln? Übergib doch einfach java den kompletten Pfad zur jar-Datei, fertig.

-hanky-

Newbie314
09.11.11, 19:41
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.

Newbie314
09.11.11, 22:23
Und wenn dein Script erst den CD befehl und dann den nohup ausführt ?



cd dein Zielverzeichnis
nohup java -Xm....

zyrusthc
09.11.11, 22:38
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.

marce
10.11.11, 07:16
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

Newbie314
10.11.11, 09:54
@marce

Ja, genau das.

Wene
10.11.11, 10:12
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? ;)

Newbie314
10.11.11, 13:09
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...

Wene
10.11.11, 15:28
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.