Udostępnij za pośrednictwem


Process.Kill Metoda

Definicja

Wymusza zakończenie podstawowego procesu.

Przeciążenia

Nazwa Opis
Kill()

Natychmiast zatrzymuje skojarzony proces.

Kill(Boolean)

Natychmiast zatrzymuje skojarzony proces i opcjonalnie jego procesy podrzędne/malejąco.

Uwagi

Metoda Kill wymusza zakończenie procesu, podczas gdy CloseMainWindow żąda tylko zakończenia. Gdy proces z interfejsem graficznym jest wykonywany, jego pętla komunikatów jest w stanie oczekiwania. Pętla komunikatów jest wykonywana za każdym razem, gdy komunikat systemu Windows jest wysyłany do procesu przez system operacyjny. Wywołanie CloseMainWindow powoduje wysłanie żądania zamknięcia okna głównego, które w dobrze sformułowanej aplikacji zamyka okna podrzędne i odwołuje wszystkie uruchomione pętle komunikatów dla aplikacji. Żądanie zakończenia procesu przez wywołanie CloseMainWindow metody nie wymusza zamknięcia aplikacji. Aplikacja może poprosić o weryfikację użytkownika przed zamknięciem lub może odmówić zamknięcia. Aby wymusić zamknięcie aplikacji, użyj Kill metody .

Zachowanie jest identyczne z zachowaniem CloseMainWindow użytkownika zamykającego główne okno aplikacji przy użyciu menu systemowego. W związku z tym żądanie zakończenia procesu przez zamknięcie okna głównego nie wymusza natychmiastowego zamknięcia aplikacji.

Uwaga / Notatka

Metoda Kill jest wykonywana asynchronicznie. Po wywołaniu Kill metody wywołaj WaitForExit metodę , aby poczekać na zakończenie procesu, lub sprawdź HasExited właściwość , aby określić, czy proces zakończył się.

Uwaga / Notatka

Metoda WaitForExit i HasExited właściwość nie odzwierciedlają stanu procesów potomnych. Gdy Kill(entireProcessTree: true) jest używany, WaitForExit i HasExited wskaże, że zakończenie zostało zakończone po zakończeniu danego procesu, nawet jeśli wszystkie elementy potomne nie zostały jeszcze zakończone.

Dane edytowane przez proces lub zasoby przydzielone do tego procesu można utracić, jeśli wywołasz metodę Kill. Kill powoduje nieprawidłowe zakończenie procesu i powinno być używane tylko w razie potrzeby. CloseMainWindow umożliwia uporządkowane zakończenie procesu i zamyka wszystkie okna, dlatego zaleca się, aby aplikacje z interfejsem. Jeśli CloseMainWindow proces zakończy się niepowodzeniem, możesz użyć Kill polecenia , aby zakończyć proces. Kill jest jedynym sposobem zakończenia procesów, które nie mają interfejsów graficznych.

Można wywołać metodę Kill i CloseMainWindow tylko dla procesów uruchomionych na komputerze lokalnym. Nie można spowodować zakończenia procesów na komputerach zdalnych. Informacje dotyczące procesów uruchomionych na komputerach zdalnych można wyświetlać tylko.

Kill()

Źródło:
Process.Unix.cs
Źródło:
Process.Unix.cs
Źródło:
Process.Unix.cs
Źródło:
Process.Unix.cs
Źródło:
Process.Unix.cs

Natychmiast zatrzymuje skojarzony proces.

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 ()
Atrybuty

Wyjątki

Nie można zakończyć skojarzonego procesu.

Próbujesz wywołać Kill() proces uruchomiony na komputerze zdalnym. Metoda jest dostępna tylko dla procesów uruchomionych na komputerze lokalnym.

Brak procesu skojarzonego z tym Process obiektem.

Zobacz też

Dotyczy

Kill(Boolean)

Źródło:
Process.NonUap.cs
Źródło:
Process.NonUap.cs
Źródło:
Process.NonUap.cs
Źródło:
Process.NonUap.cs
Źródło:
Process.NonUap.cs

Natychmiast zatrzymuje skojarzony proces i opcjonalnie jego procesy podrzędne/malejąco.

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)

Parametry

entireProcessTree
Boolean

true zabić skojarzony proces i jego elementy potomne; false aby zabić tylko skojarzony proces.

Atrybuty

Wyjątki

Nie można zakończyć skojarzonego procesu.

— lub —

Proces kończy się.

Próbujesz wywołać Kill() proces uruchomiony na komputerze zdalnym. Metoda jest dostępna tylko dla procesów uruchomionych na komputerze lokalnym.

Tylko programy .NET Framework i .NET Core 3.0 i starsze: proces został już zakończony.

— lub —

Brak procesu skojarzonego z tym Process obiektem.

— lub —

Proces wywołujący jest elementem członkowskim drzewa podrzędnego skojarzonego procesu.

Nie wszystkie procesy w drzewie potomnych skojarzonego procesu mogą zostać zakończone.

Uwagi

Gdy entireProcessTree jest ustawiona wartość true, procesy, w których wywołanie nie ma uprawnień do wyświetlania szczegółów, są dyskretnie pomijane przez proces kończenia potomnych, ponieważ proces zakończenia nie może określić, czy te procesy są elementami podrzędnymi.

Zobacz też

Dotyczy