Freigeben über


Process.Kill Methode

Definition

Erzwingt das Beenden des zugrunde liegenden Prozesses.

Überlädt

Name Beschreibung
Kill()

Beendet sofort den zugeordneten Prozess.

Kill(Boolean)

Beendet den zugeordneten Prozess sofort und optional seine untergeordneten/untergeordneten Prozesse.

Hinweise

Die Kill Methode erzwingt eine Beendigung des Prozesses, während CloseMainWindow nur eine Beendigung anfordert. Wenn ein Prozess mit einer grafischen Benutzeroberfläche ausgeführt wird, befindet sich seine Meldungsschleife in einem Wartezustand. Die Nachrichtenschleife wird jedes Mal ausgeführt, wenn eine Windows-Nachricht vom Betriebssystem an den Prozess gesendet wird. Das Aufrufen CloseMainWindow sendet eine Anforderung zum Schließen des Hauptfensters, das in einer wohlgeformten Anwendung untergeordnete Fenster schließt und alle ausgeführten Nachrichtenschleifen für die Anwendung widerruft. Die Anforderung zum Beenden des Prozesses durch Aufrufen CloseMainWindow erzwingt nicht, dass die Anwendung beendet wird. Die Anwendung kann vor dem Beenden nach der Benutzerüberprüfung fragen oder das Beenden ablehnen. Verwenden Sie die Methode, um zu erzwingen, dass die Kill Anwendung beendet wird.

Das Verhalten ist identisch mit dem eines CloseMainWindow Benutzers, der das Hauptfenster einer Anwendung mithilfe des Systemmenüs schließt. Daher erzwingt die Anforderung, den Prozess zu beenden, indem das Hauptfenster geschlossen wird, dass die Anwendung nicht sofort beendet wird.

Hinweis

Die Kill Methode wird asynchron ausgeführt. Rufen Sie nach dem Aufrufen der Kill Methode die WaitForExit Methode auf, bis der Vorgang beendet wird, oder überprüfen Sie die HasExited Eigenschaft, um festzustellen, ob der Prozess beendet wurde.

Hinweis

Die WaitForExit Methode und die HasExited Eigenschaft spiegeln nicht den Status von absteigenden Prozessen wider. Wenn Kill(entireProcessTree: true) sie verwendet wird, und HasExited gibt an, WaitForExit dass das Beenden nach dem Beenden des angegebenen Prozesses abgeschlossen wurde, auch wenn alle Nachfolger noch nicht beendet wurden.

Daten, die vom Prozess oder den Ressourcen bearbeitet werden, die dem Prozess zugeordnet sind, können verloren gehen, wenn Sie aufrufen Kill. Kill verursacht eine abnorme Beendigung des Prozesses und sollte nur bei Bedarf verwendet werden. CloseMainWindow ermöglicht eine geordnete Beendigung des Prozesses und schließt alle Fenster, daher ist es für Anwendungen mit einer Schnittstelle vorzuziehen. Wenn CloseMainWindow ein Fehler auftritt, können Kill Sie den Prozess beenden. Kill ist die einzige Möglichkeit, Prozesse zu beenden, die nicht über grafische Schnittstellen verfügen.

Sie können nur Prozesse aufrufen Kill , CloseMainWindow die auf dem lokalen Computer ausgeführt werden. Prozesse auf Remotecomputern können nicht beendet werden. Sie können nur Informationen für Prozesse anzeigen, die auf Remotecomputern ausgeführt werden.

Kill()

Quelle:
Process.Unix.cs
Quelle:
Process.Unix.cs
Quelle:
Process.Unix.cs
Quelle:
Process.Unix.cs
Quelle:
Process.Unix.cs

Beendet sofort den zugeordneten Prozess.

public:
 void Kill();
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public void Kill();
public void Kill();
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public void Kill();
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Kill : unit -> unit
member this.Kill : unit -> unit
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Kill : unit -> unit
Public Sub Kill ()
Attribute

Ausnahmen

Der zugeordnete Prozess konnte nicht beendet werden.

Sie versuchen, einen Prozess aufzurufen Kill() , der auf einem Remotecomputer ausgeführt wird. Die Methode ist nur für Prozesse verfügbar, die auf dem lokalen Computer ausgeführt werden.

Diesem Process Objekt ist kein Prozess zugeordnet.

Weitere Informationen

Gilt für:

Kill(Boolean)

Quelle:
Process.NonUap.cs
Quelle:
Process.NonUap.cs
Quelle:
Process.NonUap.cs
Quelle:
Process.NonUap.cs
Quelle:
Process.NonUap.cs

Beendet den zugeordneten Prozess sofort und optional seine untergeordneten/untergeordneten Prozesse.

public:
 void Kill(bool entireProcessTree);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public void Kill(bool entireProcessTree);
public void Kill(bool entireProcessTree);
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public void Kill(bool entireProcessTree);
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Kill : bool -> unit
member this.Kill : bool -> unit
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Kill : bool -> unit
Public Sub Kill (entireProcessTree As Boolean)

Parameter

entireProcessTree
Boolean

true um den zugeordneten Prozess und seine Nachfolger zu töten; false um nur den zugeordneten Prozess zu töten.

Attribute

Ausnahmen

Der zugeordnete Prozess konnte nicht beendet werden.

- oder -

Der Vorgang wird beendet.

Sie versuchen, einen Prozess aufzurufen Kill() , der auf einem Remotecomputer ausgeführt wird. Die Methode ist nur für Prozesse verfügbar, die auf dem lokalen Computer ausgeführt werden.

Nur .NET Framework und .NET Core 3.0 und frühere Versionen: Der Prozess wurde bereits beendet.

- oder -

Diesem Process Objekt ist kein Prozess zugeordnet.

- oder -

Der aufrufende Prozess ist ein Mitglied der untergeordneten Struktur des zugeordneten Prozesses.

Nicht alle Prozesse in der untergeordneten Struktur des zugeordneten Prozesses können beendet werden.

Hinweise

Wenn entireProcessTree diese Einstellung festgelegt trueist, werden Prozesse, bei denen der Aufruf über keine Berechtigungen zum Anzeigen von Details verfügt, vom absteigenden Beendigungsprozess im Hintergrund übersprungen, da der Beendigungsprozess nicht bestimmen kann, ob diese Prozesse untergeordnete Elemente sind.

Weitere Informationen

Gilt für: