Guin
Registered User
Mir stellt sich folgendes Problem:
Ich moechte den Shoutcastserver per Webinterface an und abschalten. Dazu habe ich mir ein PHP Skript erstellt, was seinen Dienst soweit auch erledigt. ABER.. PHP Skripte werden unter dem User des Webservers ausgefuehrt und wenn der Webserver neu startet, werden alle Prozesse des Webserverusers beendet. Davon ist der Shoutcastserver dann auch betroffen.
So starte ich das Ganze momentan. In $buffer ist die PID des Shoutcast, die dann in einer Datei gespeichert wird (wird nicht unbedingt benoetigt).
Ich hatte mir gedacht, dass ich den ausfuerenden User mit su oder sudo auf WEBX aendere. Das klappt mit meinem jetzigen Wissenstand aber nicht, da ich nicht weiss, wie ich den Befehlen ein Passwort mitgeben kann.
So klappt es jedenfalls nicht so richtig.
Hat jemand mein Problem verstanden und kann mir helfen?
nochmal kurz:
- Wie verhindere ich, dass beim Webserverneustart die Prozesse von www-data beendet werden?
Und/Oder
- Wie wie gehe ich in PHP mit su und sudo um?
Und/Oder
- Ganz anderer Vorschlag. Ich wuerde aber gerne bei PHP bleiben.
PS: mir fiel einfach kein gescheiter Titel ein.
PPS: PHP laeuft, wie sicherlich schon vermutet, als Modul.
Ich moechte den Shoutcastserver per Webinterface an und abschalten. Dazu habe ich mir ein PHP Skript erstellt, was seinen Dienst soweit auch erledigt. ABER.. PHP Skripte werden unter dem User des Webservers ausgefuehrt und wenn der Webserver neu startet, werden alle Prozesse des Webserverusers beendet. Davon ist der Shoutcastserver dann auch betroffen.
PHP:
exec("/SHOUTCAST/sc_serv /opt/shoutcast/conf >/dev/null &");
exec("ps u -u www-data | grep '/SHOUTCAST/sc_serv' | awk '{print $2}' 2>&1", $return);
$buffer=(int)$return[0];
Ich hatte mir gedacht, dass ich den ausfuerenden User mit su oder sudo auf WEBX aendere. Das klappt mit meinem jetzigen Wissenstand aber nicht, da ich nicht weiss, wie ich den Befehlen ein Passwort mitgeben kann.
Code:
sudo -u webX '/opt/shoutcast/sc_serv /opt/shoutcast/conf &'
sudo -p PASSWORT -u WEBX '/opt/shoutcast/sc_serv /opt/shoutcast/conf &'
Hat jemand mein Problem verstanden und kann mir helfen?
nochmal kurz:
- Wie verhindere ich, dass beim Webserverneustart die Prozesse von www-data beendet werden?
Und/Oder
- Wie wie gehe ich in PHP mit su und sudo um?
Und/Oder
- Ganz anderer Vorschlag. Ich wuerde aber gerne bei PHP bleiben.
PS: mir fiel einfach kein gescheiter Titel ein.
PPS: PHP laeuft, wie sicherlich schon vermutet, als Modul.