Autor |
Nachricht |
Johnobo
Threadersteller
Dabei seit: 28.12.2005
Ort: bei Berlin
Alter: -
Geschlecht:
|
Verfasst Sa 25.11.2006 13:32
Titel [php] gnu screen über php starten |
|
|
hey ho,
ok folgednes, ich bastel an einem script mit dem ich ein webgame online administrieren kann ohne immer per ssh erst alles einzustellen, bzw, das game zu starten.
also habe ich es erst mit exec() probiert:
Code: | <?php
if ($_GET['action']="start") {
echo "0";
exec ("./openttd-0.4.7/openttd -D");
}
if ($_GET['action']="kill") {
echo "1";
exec ("killall openttd");
}
?> |
das geht soweit, erstartet des game, aber des läuft dann nur so lange wie das php script auf dem server erlaubt ist zu laufen, ergo will ich das game per gnu sreen starten, aber
Code: | <?php
if ($_GET['action']="start") {
echo "0";
exec ("screen ./openttd-0.4.7/openttd -D");
}
?> |
geht nicht. also ich bekomm logischerwiese auch keine fehlermeldung, aber er startet halt dne server nicht, nichtmal nin prozess.
auf php.net wird der befehl proc_open() beschrieben, ich versteh den zweiten und dritten paramter nicht:
Zitat: | array descriptorspec, array &pipes |
wäre nice wenn jemand mir helfen könnt.
mfg.
Zuletzt bearbeitet von Johnobo am Sa 25.11.2006 13:33, insgesamt 1-mal bearbeitet
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst Sa 25.11.2006 18:36
Titel
|
|
|
Leg dir eine Bash-Datei an:
Code: | #!/bin/bash
./openttd-0.4.7/openttd -D & |
und ruf die auf.
|
|
|
|
|
Anzeige
|
|
|
Johnobo
Threadersteller
Dabei seit: 28.12.2005
Ort: bei Berlin
Alter: -
Geschlecht:
|
Verfasst Sa 25.11.2006 20:37
Titel
|
|
|
geht ebenfalls nicht. oder ich mach was mit der bash verkehrt, habe mir zwei files angelgt in den httpdocs folder, eine bash mit dem pfad aus dem kompletten pfad und eine mit der urpsrung asu dem httpdocs ordner. mist.
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst So 26.11.2006 10:43
Titel
|
|
|
Zeig mal die beiden Files.
|
|
|
|
|
Johnobo
Threadersteller
Dabei seit: 28.12.2005
Ort: bei Berlin
Alter: -
Geschlecht:
|
Verfasst So 26.11.2006 10:53
Titel
|
|
|
start_ottd_01:
Code: | #!/bin/bash
/var/www/vhosts/johnobo.de/httpdocs/openttd-0.4.7/openttd -D & |
start_ottd_02:
Code: | #!/bin/bash
./openttd-0.4.7/openttd -D & |
und aufgerufen werdne sie wieder über:
Code: | <?php
echo "0";
if ($_GET['action']="start") { exec ("start_ottd_01"); } /*bzw start_ottd_02*/
?> |
Zuletzt bearbeitet von Johnobo am So 26.11.2006 10:55, insgesamt 1-mal bearbeitet
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst So 26.11.2006 11:22
Titel
|
|
|
Hm, ok. Dann verwenden mal nohup.
Code: | nohup /bin/bash -c "./openttd-0.4.7/openttd -D" & |
|
|
|
|
|
Johnobo
Threadersteller
Dabei seit: 28.12.2005
Ort: bei Berlin
Alter: -
Geschlecht:
|
Verfasst So 26.11.2006 11:50
Titel
|
|
|
yes so gehts:
Code: | <?php
echo "0";
if ($_GET['action']="start1") {
exec ("nohup /bin/bash -c \"./openttd-0.4.7/openttd -D\" &");
echo "1";
}
?> |
jezez muss iches nur noch schließen könne, weil killall grad nciht so will, aber des pack ich schon. danke.
danke.
edit gibt doch ein problem, laut dem ps befehl läuft das game nciht, laut dem gmae läuft es, er zeigt mir den server an kann einstiegne aber wenn ich conecten möchte sagt er das die verbindung getrennt wurde. aber online isser.
es is so, das die php datei einfach die ganze zeit lädt. und sofort wenn ich mit dme sever connecten will stopt das script und ich werde us dme server geschnissen bevor ich verbunden bin.
Zuletzt bearbeitet von Johnobo am So 26.11.2006 12:10, insgesamt 3-mal bearbeitet
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst So 26.11.2006 12:43
Titel
|
|
|
Evtl. läuft noch eine andere Instanz des Spieles und belegt den
Port?
Nohup gibt dir die Prozess-ID zurück. Die musst Du speichern und
dann später zum killen verwenden.
|
|
|
|
|
|
|
|
Ähnliche Themen |
[JS] Popup screen.height & screen.width
typoliebling für screen
72 DPI - Screen 1 zu 1 in PDF umwandeln?
Screen Calipers
splash screen
Screen capture Programm
|
|