h4dhunTer
Erfahrenes Mitglied
Hallo,
ich habe ja nun schon mehrfach hier im PHP Forum etwas über Prozesse erfragt und bin zu einigen lösungen gekommen, aber leider dadurch auch zu problemen,
Ich starte eine Prozess mit system(); und beende es mit exec();. Ich muss den Prozess mit system(); starten, weil er sonst die Seite nicht zuende läd.
Da ich ein Webinterface baue und mit Shoutcast arbeite, laufen mehrere Server. Ich kann jeden einzelnen Starten, aber wenn ich einen Beenden will, killt er alle Prozesse die mit Shoutcast in verbindung sind.
Mein Code zum Killen:
Anscheinend macht killall -9 alle Prozesse die was mit /srv/www/vhosts/domain/httpsdocs/login/shoutcast/sc_serv zu tun haben aus.
Nun zu meiner Frage. Kann ich mit PHP beim Starten eines Shoutcastservers die PID auslesen und in eine Datenbank speichern?
Ich habe gesehen, wenn ich Shoutcast starte, schreibt er mir "[main] pid: xxxxx". Nun könnte ich ja mit system(); den befehl starten und dann auslesen, aber leider geht das nicht, da system(); arbeitet, bis ich den browser schliese. Das heißt, er führ alles was nach dem Befehl system(); kommt, nicht aus.
Hat da jemand vielleicht eine Lösung?
Vielen Dank schonmal.
ich habe ja nun schon mehrfach hier im PHP Forum etwas über Prozesse erfragt und bin zu einigen lösungen gekommen, aber leider dadurch auch zu problemen,
Ich starte eine Prozess mit system(); und beende es mit exec();. Ich muss den Prozess mit system(); starten, weil er sonst die Seite nicht zuende läd.
Da ich ein Webinterface baue und mit Shoutcast arbeite, laufen mehrere Server. Ich kann jeden einzelnen Starten, aber wenn ich einen Beenden will, killt er alle Prozesse die mit Shoutcast in verbindung sind.
Mein Code zum Killen:
PHP:
<?
exec('killall -9 /srv/www/vhosts/domain/httpsdocs/login/shoutcast/sc_serv /srv/www/vhosts/domain/httpsdocs/login/shoutcast/sc_serv0'.$_SESSION['id'].'.conf');
?>
Nun zu meiner Frage. Kann ich mit PHP beim Starten eines Shoutcastservers die PID auslesen und in eine Datenbank speichern?
Ich habe gesehen, wenn ich Shoutcast starte, schreibt er mir "[main] pid: xxxxx". Nun könnte ich ja mit system(); den befehl starten und dann auslesen, aber leider geht das nicht, da system(); arbeitet, bis ich den browser schliese. Das heißt, er führ alles was nach dem Befehl system(); kommt, nicht aus.
Hat da jemand vielleicht eine Lösung?
Vielen Dank schonmal.