Hallo,
ich hab ein Problem mit dem beenden von Prozesse.
Kurze übersicht was ich machen will:
Der User www-data (Apache) startet mit Hilfe sudo und screen ein Spiel unter einem Useraccount.
Hier das Startcommand:
$exec=shell_exec("sudo /bin/su $user -c 'start-server.sh /home/$user/$game' 2>&1");
Wenn jemand ein Spiel über den Webserver wechseln will, muss erst das alte beendet und ein anderes gestartet werden.
Das Problem ist das das gestartete Spiel nicht mehr gekillt werden kann.
Top bringt mir dann folgende Ausgabe:
5235 server1 9 0 1312 1312 908 S 0.0 0.5 0:00 screen
5239 server1 9 0 964 964 820 S 0.0 0.3 0:00 CS-S.run
5302 server1 9 0 1132 1132 828 S 0.0 0.4 0:00 screen
5306 server1 9 0 964 964 820 S 0.0 0.3 0:00 CS-16.run
5308 server1 9 0 1060 1060 832 S 0.0 0.4 0:00 hlds_run
5316 server1 9 0 2091 20M 3376 S 0.0 8.2 0:03 hlds_i686
5331 server1 9 0 1880 1876 1660 S 0.0 0.7 0:00 sshd
5332 server1 9 0 1160 1160 968 S 0.0 0.4 0:00 bash
5462 server1 9 0 1584 1584 1180 S 0.0 0.6 0:00 mc
5464 server1 9 0 1196 1196 996 S 0.0 0.4 0:00 bash
5815 server1 9 0 1112 1112 824 S 0.0 0.4 0:00 psybnc
6284 server1 14 0 496 496 424 S 0.0 0.1 0:00 sleep
Diese Prozesse laufen jetzt meinesachtens nach als User "server1"
ich kann aber wenn ich mich als serevr1 einlogge keinen Prozess killen.
Als root funktioniert "killall screen" auch nicht.
wenn ich als user einen screen herhole ,kann ich auch nix eingeben, sondern nur wieder deatachen.
Ich denke da liegt irgendwo der Fehler das das Programm irgendwie in den Hintergrundgeschossen wird wo es keine Befehle oder Eingaben bekommt.
Vielen Dank schonmal für die Hilfe,
Thomas
ich hab ein Problem mit dem beenden von Prozesse.
Kurze übersicht was ich machen will:
Der User www-data (Apache) startet mit Hilfe sudo und screen ein Spiel unter einem Useraccount.
Hier das Startcommand:
$exec=shell_exec("sudo /bin/su $user -c 'start-server.sh /home/$user/$game' 2>&1");
Wenn jemand ein Spiel über den Webserver wechseln will, muss erst das alte beendet und ein anderes gestartet werden.
Das Problem ist das das gestartete Spiel nicht mehr gekillt werden kann.
Top bringt mir dann folgende Ausgabe:
5235 server1 9 0 1312 1312 908 S 0.0 0.5 0:00 screen
5239 server1 9 0 964 964 820 S 0.0 0.3 0:00 CS-S.run
5302 server1 9 0 1132 1132 828 S 0.0 0.4 0:00 screen
5306 server1 9 0 964 964 820 S 0.0 0.3 0:00 CS-16.run
5308 server1 9 0 1060 1060 832 S 0.0 0.4 0:00 hlds_run
5316 server1 9 0 2091 20M 3376 S 0.0 8.2 0:03 hlds_i686
5331 server1 9 0 1880 1876 1660 S 0.0 0.7 0:00 sshd
5332 server1 9 0 1160 1160 968 S 0.0 0.4 0:00 bash
5462 server1 9 0 1584 1584 1180 S 0.0 0.6 0:00 mc
5464 server1 9 0 1196 1196 996 S 0.0 0.4 0:00 bash
5815 server1 9 0 1112 1112 824 S 0.0 0.4 0:00 psybnc
6284 server1 14 0 496 496 424 S 0.0 0.1 0:00 sleep
Diese Prozesse laufen jetzt meinesachtens nach als User "server1"
ich kann aber wenn ich mich als serevr1 einlogge keinen Prozess killen.
Als root funktioniert "killall screen" auch nicht.
wenn ich als user einen screen herhole ,kann ich auch nix eingeben, sondern nur wieder deatachen.
Ich denke da liegt irgendwo der Fehler das das Programm irgendwie in den Hintergrundgeschossen wird wo es keine Befehle oder Eingaben bekommt.
Vielen Dank schonmal für die Hilfe,
Thomas