Task beenden vs. Prozess beenden

3331
Joel Coehoorn

Warum dauert das Beenden einer Aufgabe in XP / Vista so viel länger als das Beenden des zugrunde liegenden Prozesses? Was ist die Beziehung zwischen einer Aufgabe und einem Prozess aus Sicht des Betriebssystems?

2

2 Antworten auf die Frage

7
user4905

"Task" ist der Begriff, den "Task Manager" verwendet, um - seinen Namen zu rechtfertigen - die Liste der "Hauptfenster der Prozesse des Benutzers" (*) anzuzeigen, falls vorhanden

"Task beenden" gibt der "Task" (Meldungsschleife für das "Hauptfenster") die letzte Chance, auf die WM_CLOSE-Nachricht zu reagieren und den zugehörigen Prozess mit einer Zeitüberschreitung zu beenden ( http://blogs.msdn.com/). Altes / Archiv / 2004/07/22 / 191123.aspx )

"End Process" ist ein unhöflicher TerminateProcess, der alle anstehenden Änderungen an Dateien oder anderen Ressourcen verwirft.

Normalerweise wird ein Mini-Dump für einen Microsoft Online Crash Analysis-Bericht (Dr. Watson) erstellt, der möglicherweise ein oder zwei Sekunden benötigt.

(*) Raymond, ich weiß, das ist so ungenau.

Ich bin mir nicht sicher, dass "Prozess beenden" so gewalttätig ist. Es scheint einen Moment zu warten, bis das Programm ohnehin beendet wird. Es scheint zumindest so zu sein, da es im Vergleich zu Process Explorer mehr Zeit benötigt (was eindeutig keine Chance gibt und einen "Kill" -Befehl sendet). Obwohl ich mich irren könnte, ist es nur eine persönliche Beobachtung. Gnoupi vor 14 Jahren 0
Es gibt sicherlich einen Unterschied im Verhalten der Endaufgabe zwischen dem Process Explorer und dem Standard-WinTask Manager. Ich denke, dass der Process Explorer die rudestste Methode zum Beenden einer laufenden PID implementiert hat. Axxmasterr vor 14 Jahren 0
5
Amber

Ich glaube, das Beenden der Task fordert, dass das Programm zuerst ordnungsgemäß beendet wird, während das Beenden des Prozesses das Windows-Äquivalent von SIGKILL ist - das Betriebssystem speichert den Prozess ohne Fragen.