Einzelnen Beitrag anzeigen

QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#8

AW: TerminateProcess geht nicht die Zweite

  Alt 9. Jun 2011, 11:12
Um den Service zu beenden, würde ich wie Dezipiator schon angedeutet hat, lieber direkt die Service Manager API verwenden. Auch bei normalen Prozessen ist ein TerminateProcess() zu vermeiden.
Wir versuchen den Dienst regulär zu stoppen, erst wenn er nach X Sekunden dann noch als Prozess existiert eskalieren wir zu TerminateProcess.

Ich hatte irgendwo mal eine Implementation gesehen, welche einfach ExitProcess() in den Zielprozess injiziert. Das ist zwar etwas umständlich, aber es gibt dem Zielprozess wenigstens Zeit, eventuelle Finalizations auszufüren.
Sagt mir so gar nichts. sorry. ExitProcess ist der Befehl der am Ende von Application.terminate ausgeführt wird? Oder wie darf ich mir das vorstellen? (ja ich schau gleich in der Hilfe nach, no prob)


Wie sähe die Eskalationsreihenfolge also aus?
1. Stoppen des Dienstes
2. Exitprocess Injecten
3. TerminateProcess

????
aber wieso funzt Terminate Process nicht? (über 14 stunden hinweg)
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty ( 9. Jun 2011 um 11:15 Uhr)
  Mit Zitat antworten Zitat