Also folgender Faden hat mir nicht geholfen
http://www.delphipraxis.net/22108-te...-geht-net.html
Da wir mittlerweile einen Haufen an Diensten installieren die zum Teil auch von einander abhängig sind und je nach Datensicherungsprogramm während der Datensicherung geschlossen sein müssen liefern wir seit einiger Zeit zusätzlich einen Guard der Diese Dienste überwacht aus....
Dieser Guard managed die Laufzeit der Dienste und überwacht zusätzlich deren Funktionalität...sollte also ein Programm über einen Timeout "hängen" stoppt er den Dienst. Sollte das nicht funktionieren (Dienst nach Timeout immer noch in der Prozessliste), dann Führt er TerminateProcess aus.
Das läuft soweit auch.
Nur bei einem einzigen Kunden nicht......
Da versagt Terminateprocess bei einem der Dienste...immer.
Woran kann das liegen.
Folgende "Fehlerquellen" sind bekannt:
-Prozess vom User System kann/soll mann nicht terminieren. (Ist ok, deswegen laufen alle Prozesse als Administrator)
-Prozess von einem anderen User kann/soll man nicht terminieren. (Ist ok, alle laufen im User Kontext Administrator)
Vermutung:
Im Services.msc steht der hängende Prozess als "Wird beendet.."
kann es sein das TerminateProcess nicht funktioniert während der Dienst beendet zu werden versucht?