TerminateProcess
-
ひ
TerminateProcess ist ja nicht so gut um einen Proecess zu beenden, ist es besser den proecess mit einem aufruf von ExitProcess über CreateRemoteThread sich selbst zu beenden lassen oder ist dieses genau das gleiche problem? ich weisse das natürlich auch so kernel objekte des prozesses nicht freigegeben werden aber bringt dies sonst irgendeinen vorteil gegenüber TerminateProcess, weil es immer gresagt wird, man solle TerminateProcess nicht verwenden,
danke.
乾菓子
-
TerminateProcress ist ganz einfach die Holzhammer-Methode um einen Prozess zu beenden. D.h. er hat keine Chance sich dagegen zu wehren, geschweigeden sich sauber zu beenden. Bevor man einen Prozess also "abschießt" sollte man zu erst die harmloseren Wege probieren (WM_CLOSE, ExitProcess).
In Bezug auf "weil es immer gresagt wird, man solle TerminateProcess nicht verwenden": Ich denke du verwechselst hier TerminateProcess und TerminateThread.
TerminateThread sollte man nicht verwenden, da es eigentlich nur für Debug-Zwecke gedacht ist. Warum man TerminateProcess jetzt nicht verwenden sollte, abgesehen von den Gründen oben, wüsste ich ich jetzt auf die Schnelle nicht.