Ich bin mir nicht 100%ig sicher ob dir das weiterhilft aber ein Versuch kann ja bestimmt nicht schaden

Ich hatte da mal eine Web-Oberfläche gemacht um das Programm meiner TV-Karte (Terratec Home Cinema) und einen Stream per VLC mit verschiedenen Parametern zu starten. Dabei habe ich ein Tool in C++ geschrieben dass das Programm startet und die Prozess-ID zurück gibt oder ein Programm anhand dieser ID wieder (unsanft

) beendet.
Im Anhang findest du ein ZIP mit dem Quellcode (und den Kompilierten .exe Dateien) zu diesem Helfer-Programm, hier noch die Funktionen über die ich es verwende:
Edit: Das Projekt ist leider etwas zu groß für den Forum-Anhang, hier kannst du es runterladen:
https://rapidshare.com/files/1380072692/run_service.zip
PHP-Code:
function StartService($exe, $dir, $params) {
$dir = str_replace('"', '\\"', $dir);
$exe = str_replace('"', '\\"', $exe);
$params = str_replace('"', '\\"', $params);
//$cmd = $dir."\\".exe." ".$params;
$cmd = 'run_service.exe /dir="'.$dir.'" /exe="'.$exe.'" /params="'.$params.'"';
@system($cmd, &$return);
return $return;
}
function KillService($pid) {
$cmd = 'run_service.exe /kill="'.$pid.'"';
@system($cmd, &$return);
return ($return == 1 ? true : false);
}
Die "run_service.exe" im ZIP ist die kompilierte Version ohne Debug-Ausgaben, bei allem anderen kann ich das nicht garantieren

Wenn du etwas Ahnung mit C++ (oder Glück bei Google hast) kannst du, sofern das Tool nicht bereits so seinen Zweck erfüllt, es vielleicht entsprechend anpassen. Damit die PHP Funktionen so klappen muss die "run_service.exe" im aktuellen Verzeichnis des Script liegen.
Viel erfolg

- Jens